各テストの前に変数を設定する方法を見つけようとしています。 Junitの@Beforeメソッドと似ています。 kotlin-testのドキュメントを見て、interceptTestCase()インターフェイスを使用できることが判明しました。kotlin-test frameworkを使用して各テストの前に変数を初期化する方法
kotlin.UninitializedPropertyAccessException: lateinit property text has not been initialized
class KotlinTest: StringSpec() {
lateinit var text:String
init {
"I hope variable is be initialized before each test" {
text shouldEqual "ABC"
}
"I hope variable is be initialized before each test 2" {
text shouldEqual "ABC"
}
}
override fun interceptTestCase(context: TestCaseContext, test:() -> Unit) {
println("interceptTestCase()")
this.text = "ABC"
test()
}
}
は、私は()interceptTestCaseを使用するために間違った方法でアム:しかし残念ながら、以下のコードは、例外がトリガされますか? ありがとうございます〜
実はこれが理由ではありません。 'text shouldEqual" ABC "は' init'ブロックでは呼び出されず、 'shouldEqual" ABC "を含むラムダはそこに作成され、実行されません。 – michalbrz