有一个单元测试类,在构造中定义了一些参数
class VersionConsumerSpec {
private val path = Paths.get("target").toAbsolutePath().toString()
private val kafkaPort = (4000..8000).random()
private val zooKeeperPort = (4000..8000).random()
private val config: AppConfig = createAppConfig(kafkaPort)
private val producer = createKafkaProducer()
init {
println("hello world")
}
@ExperimentalCoroutinesApi
@ObsoleteCoroutinesApi
@Test
@DisplayName("test1")
fun test1() {
}
@ExperimentalCoroutinesApi
@ObsoleteCoroutinesApi
@Test
@DisplayName("test2")
fun test2() {
}
}
每次测试都会执行所有定义的变量,甚至在init
这里执行两次。然后我遇到了问题,因为我想为所有测试用例声明一次所有这些变量。
我在这里出了点问题?在 Java 或 Scala 中,这不会发生。
就像对于每个测试,类都会一次又一次地完全实例化。