问题: 在测试代码语句中,特别是带有参数匹配器的
在这个例子中,
verify
调用中,Mockito会抛出NPE,但没有进一步指示原因,仅显示测试代码行。
执行测试代码时实际异常不仅缺乏信息,而且还具有误导性:
java.lang.NullPointerException at de.example.testing.TmpTest.testSomething(TmpTest.java:31)
被测试代码的非常简化的示例:
class Medium {
void setLock(boolean locked) {
// do stuff
}
// and other functionality ...
}
测试代码:
@Test
void testSomething() {
// call testing code
verify(_medium, never())
.setLock(any()); // <-- NPE
}
在这个例子中,
_medium
是一个有效的Mock对象,而执行verify(_medium, never())
也会返回一个非空的MockitoMock实例。
verify
),而这个错误却完全不是这样。 - undefined