我试图找到一种在每次测试之前设置变量的方法。就像 Junit 中的 @Before 方法一样。通过kotlin-test的文档,我发现我可以使用interceptTestCase()接口。但不幸的是,下面的代码会触发异常:
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()?非常感谢~