2016-05-23 101 views
1

與Kotlin熟悉了一下我想介紹另一個Android-Java項目,作爲僅用於測試的第一步。我決定直接開始Spek運行Spek測試顯示錯誤「空測試套件」

添加以下依賴關係的build.gradle模塊的待測試:

testCompile 'junit:junit:4.12' 
testCompile "org.jetbrains.kotlin:kotlin-stdlib:1.0.2" 
testCompile "org.jetbrains.kotlin:kotlin-test-junit:1.0.2" 
testCompile "org.jetbrains.spek:spek:1.0.25" 

除其他我用SimpleTest類git倉庫的SPEK-樣品:

import org.jetbrains.spek.api.Spek 
import kotlin.test.assertEquals 


class SampleCalculator 
{ 
    fun sum(x: Int, y: Int) = x + y 
    fun subtract(x: Int, y: Int) = x - y 
} 

class SimpleTest : Spek({ 
    describe("a calculator") { 
     val calculator = SampleCalculator() 

     it("should return the result of adding the first number to the second number") { 
      val sum = calculator.sum(2, 4) 
      assertEquals(6, sum) 
     } 

     it("should return the result of subtracting the second number from the first number") { 
      val subtract = calculator.subtract(4, 2) 
      assertEquals(2, subtract) 
     } 
    } 
}) 

代碼編譯並在Android Studio中,我在類聲明旁邊顯示了一個綠色播放按鈕,以運行該類的測試。然而,這樣做的結果

Process finished with exit code 1 
Class not found: "com.anfema.ionclient.serialization.SimpleTest"Empty test suite. 

我創建JUnit3和JUnit4測試這些都跑了,沒有任何問題。

我是否錯過Spek測試的任何其他配置步驟?

回答

1

我的失敗是我沒有完全/正確地配置Kotlin。

我錯過申請的科特林插件,它與這些線完成:

apply plugin: 'kotlin-android' 

buildscript { 
    ext.kotlin_version = '1.0.2' 
    repositories { 
     jcenter() 
    } 

    dependencies { 
     classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" 
    } 

這也是有要求的,如果你想在普通JUnit測試使用科特林代碼。

相關問題