bil*_*lal 2 java code-coverage cobertura
我第一次使用cobertura.一切正常,但我想知道的是,我的代码中有一些行,永远不应该被称为:
try {
em.persist();
}catch(Exception) {
logger.error("can not create");
}
Run Code Online (Sandbox Code Playgroud)
我正在进行所有控制,直到持续行,当我的代码工作正常,错误行永远不会达到,现在就是这样.因此我从来没有%100线覆盖.
我应该以某种方式抑制它吗?
谢谢,比拉尔
虽然您可以从Cobertura覆盖率报告中排除整个类,但您不能排除特定的行或方法.
您应该接受在现实项目中无法实现100%覆盖率,因为始终存在无法访问的代码或代码,只能通过模拟复杂的条件组合来实现.
正如其他答案所示,您可以尝试通过模拟/存根EntityManager来增加单元测试覆盖率以引发异常persist.但这几乎是你可以去的.