I am trying to find a way to set a variable before each test. Just like the @Before method in Junit. Go through the doc from kotlin-test, I found that I can use the interceptTestCase () interface. But unfortunately, the code below throws an exception:
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()
}
}
Am I using interceptTestCase () incorrectly? Thanks a lot ~
source
share