Java代码覆盖错过指令?

时间:2015-03-19 00:47:30

标签: java

我想知道如何测量Java的代码覆盖率。对于一个班级,我的单元测试涵盖了大部分功能,但覆盖率大约为44%。我们在公司使用自定义工具,并想知道通常如何测量覆盖率。

理想的代码覆盖百分比是多少?

1 个答案:

答案 0 :(得分:1)

取决于工具,代码覆盖率可以通过测试所触及的行或测试所涵盖的不同分支的数量来测量。单独的指标不是很有趣 - 看看哪些线未被覆盖。如果您正在使用Eclipse或IntelliJ,则可以使用代码覆盖视图向您展示。

Emma和Cobertura都是不错的代码覆盖工具,但在相同的代码+单元测试中会得到不同的结果。

44%的代码覆盖率非常低。

如果您正在进行测试驱动开发,那么您应该能够实现90%以上的代码覆盖率,只有奇怪的例外以及您从单元测试中排除的文件/网络访问的小片段。

如果你有44%的代码覆盖率,这可能没问题。你的代码可能包含很多你现在没有使用的getter / setter,但是它们很方便。同样地,我注意到通过hashCode或equals方法运行所有路由不值得安抚覆盖工具。如果您的代码非常POJOey,并且有很多自动生成的无趣的样板,那么它可能没什么大不了的。

SonarQube等工具对于可视化代码覆盖热点和静态代码分析质量指标的组合至关重要。

不要使用古怪的内部工具,找到通常支持的东西。