【发布时间】:2018-01-15 15:24:56
【问题描述】:
我正在尝试使用一个类的测试实现,并使用@InjectMocks 将其注入到测试中,但它似乎没有注入它。我尝试使用 Spy 但这不起作用,而是创建了一个空白的模拟版本,而不是使用我在 @Before 函数中创建的版本
下面是我的测试代码:
@Before
fun setup() {
someFunction = object : SomeFuntionContract {
override fun save(test: String) {
testData = test //breakpoint here but never executes
}
override fun get(): String {
return testData
}
}
}
lateinit var testData : String
@InjectMocks
lateinit var delegator: Delegator
@Spy
lateinit var someFunction: SomeFunctionContract
@Test
fun testSomething{
delegator.retrieve(something)
Assert.assertTrue(someFunction.get() == "hello")
}
SomeFunctionContract.kt是具有save和get函数的接口,SomeFunction是真正的实现测试
在delegator.retrieve 内部它调用someFunction.get,我正在尝试查看它是否被调用并保存数据。
【问题讨论】:
-
请学习正确的缩进并使用它。这次我给你修好了。
标签: unit-testing kotlin mockito