【发布时间】:2019-11-25 11:37:40
【问题描述】:
我有一个像下面这样的 kotlin Ut
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
internal class FileOpenerTest {
private val file = mockk<Resource>()
private lateinit var target: FileOpener
@BeforeAll
fun setup() {
val file = File("./src/test/resources/sample.csv")
every { file.file } returns file
target = FileOpener(file)
}
@Test
fun `get documents for indexing from file`() {
val docs = target.startIndexing()
verify { docs.size == 3 }
}
}
测试用例总是失败说
kotlin.UninitializedPropertyAccessException:lateinit 属性目标尚未初始化
但是我是在setup方法中初始化的,请帮我解决这个问题?
【问题讨论】:
-
不应该在 static 方法上使用
@BeforeAll吗?您可能想改用@Setup?
标签: unit-testing kotlin junit