使用Mockito检查使用不同值调用的方法

时间:2019-05-03 10:13:43

标签: unit-testing kotlin

我对Mocktio非常熟悉。但以前从来不需要这样的东西:

在我的测试中,我想验证一个方法被调用了几个代表一种“开始加载”的值。让我们说“开始加载”和“完成并显示结果T”。这些状态更改的顺序很重要!

因此,在伪代码中它将执行以下操作:

resultObject ...
clientcode.requestDataload()
// Order of below state changes is imporant
verifyThat(resultObject.data).wasCalledWith("loading started")
verifyThat(resultObject.data).wasCalledWith("loading finished with result T")

感谢您指出我的方向。

2 个答案:

答案 0 :(得分:0)

您可以使用Mockito中的verify方法:

verify(mockInstance, times(1)).method(ArgumentMatchers.eq("what you want"))

其中method是需要检查调用的方法,而ArgumentMatchers是传递给该调用方法的参数(您也可以使用any())。

答案 1 :(得分:0)

您可以使用InOrder

val inOrder = inOrder(yourMock)
inOrder.verify(yourMock).yourMethod("loading started")
inOrder.verify(yourMock).yourMethod("loading finished with result T")