我们在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")

09-16 04:39