我正在尝试使用interceptTestCase方法在KotlinTest中为测试用例设置属性,如下所示:
class MyTest : ShouldSpec() {
private val items = mutableListOf<String>()
private var thing = 123
override fun interceptTestCase(context: TestCaseContext, test: () -> Unit) {
items.add("foo")
thing = 456
println("Before test ${items.size} and ${thing}")
test()
println("After test ${items.size} and ${thing}")
}
init {
should("not work like this") {
println("During test ${items.size} and ${thing}")
}
}
}
我得到的输出是:
测试 1 和 456 之前
在测试 0 和 123
经过测试 1 和 456
所以我所做的更改在测试用例中是不可见的。在执行每个测试之前,我应该如何更改属性?