我们在Java和Mockito中进行了一些测试,并将逐步将其转换为Kotlin和Mockk。不过有一个问题。这条简单的线:verify(mockedInteractor).setIndex(1);
当我们将其移动到模拟时,我们得到以下信息:verify { mockedInteractor.index = 1 }
这当然可以通过测试,因为它实际上并没有检查index
是否设置为1。它只是将模拟变量设置为1。这具有相同的效果。verify { mockedInteractor.setIndex(1) }
有没有办法验证二传手?
最佳答案
您可以尝试捕获:
val fooSlot = slot<String>()
val mockBar = mockk<Bar>()
every {mockBar.foo = capture(fooSlot) } just runs
assertEquals(fooSlot.captured, "expected")