我有一段非常简单的代码。
类似的东西:
public class Foo {
public void bar() {
timer.start();
try{
///
} finally {
timer.stop();
}
}
}
我有一个与Mockito一起运行的单元测试,当我使用IntelliJ选项进行代码覆盖时,它将finally
中的行标记为未覆盖。问题是只有当我在try
内抛出异常时才会发生这种情况。更奇怪的问题是我有一个断言,确保调用finally
块中的调用:
Mockito.verify(timer).stop(); // timer is mocked here of course
当我运行debug时,调试器会在此行中停止。
当我在finally
块中无异常地运行测试时 - 覆盖范围将其标记为已覆盖。
我在这里缺少什么?