我正在测试一个结构如下的函数:
void method1() {
if(booleanCondition1) {
return;
}
callMethod2();
callMethod3();
...
..
callMethod-n();
}
当booleanCondition1
评估结果为 TRUE 时,我必须为此编写一个模拟测试。一种方法是确保、callMethod2()
和callMethod3()
等等,直到永远不会调用callMethod-n()
(使用 Mockito.never()
)。
是否有任何有效的方法来做到这一点,而不是确保返回后的所有语句都没有被调用?
换句话说,我可以验证是否使用 Mockito 调用了"返回"语句吗?
您无法测试遇到了哪个return
语句,但您可以执行verifyZeroInteractions
或verifyNoMoreInteractions
来包含大量verify(mock, never())
断言。
谨慎使用它 - 如果过度使用verifyNoMoreInteractions
可能会导致测试变脆。