[英]How to give test coverage for private constructor of a final class in sonarqube?
我有一个util类,它是最终的,我添加了一个私有构造函数来隐藏默认的公共构造函数。 如何通过jacoco覆盖率报告在sonarqube中获得此类课程的覆盖率并在Jenkins中构建?
public final class Util {
// My contructor
private Util() {
super();
}
}
根据JaCoCo更改日志,此类私有的空无参数构造函数将从JaCoCo版本0.8.0开始自动过滤掉。 变更日志还指出:
直接读取执行文件并嵌入JaCoCo的工具(例如SonarQube或Jenkins)仅在将其更新到此版本的JaCoCo后才提供过滤功能。
JaCoCo版本0.8.0的发布声明指出:
直接读取exec文件(不是最终报告)并嵌入JaCoCo生成报告的工具只有在更新到此版本的JaCoCo后,才提供过滤功能。 因此,请关注/等待/等各个供应商,例如
- SonarQube- https: //jira.sonarsource.com/browse/SONARJAVA-2608
- Eclipse EclEmma- https: //bugs.eclipse.org/bugs/show_bug.cgi ? id = 529391
- 詹金斯-https: //github.com/jenkinsci/jacoco-plugin
由我们作为JaCoCo项目的一部分开发的集成的对应版本(0.8.0)生成的报告(蚂蚁任务,Maven插件和命令行界面)提供了过滤功能。
截至今天(2018年1月30日):
如果将声纳配置为使用cobertura(而不是jacoco)进行代码覆盖,则可以从代码覆盖率中简单地排除该方法 。
这似乎比使用反射编写人工测试用例要容易。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.