![]() |
1
9
我会看看报道。仔细检查我的测试。请注意,代码真的被覆盖了,不必担心达到100%。代码覆盖率最好用于查找您可能忽略了测试的区域,但仅仅将获得100%覆盖率作为目标是一个坏习惯,它会导致您跳过需要编写的测试,因为您的工具显示了100%。使用工具完成它能做的事情,但不要落入让工具定义你所做的事情的陷阱。 |
![]() |
2
4
在Java类文件格式中,每个方法都使用一个表进行注释,该表将代码偏移量映射到行号。在本例中,右大括号不产生任何字节码,因此不包括在内。这是源代码和字节码之间不完全对应的问题。它应该由coverage工具处理,将这一行识别为非代码。 Emma 他也有类似的问题。 Clover 票价要好得多,但是商业性的(不确定是否也能处理这种情况)。如果你使用IDEA,你应该试试他们的 new coverage implementation -很好,正在积极开发中。 |
![]() |
3
1
我已经有一段时间没有使用Cobertura了(2005年?),并且看到了这种行为。在catch/finally块之后,C#和花括号的NCover也存在类似的问题。 this Cobertura bug report detailing a similar issue . 另外,遵循@tvanfosson的建议,并意识到在一个大括号上没有覆盖,这在JVM中实际上并没有什么意义,这是一个可以忽略的“噪音”。 |
![]() |
4
0
我知道这是一个老问题,Cobertura已经解决了这个问题,但是为了完整性,“}”上缺少的覆盖是由内部自动“finally”块造成的。
|