我们继承了一个使用NetBeans
Ant
任务构建的NetBeans
模块项目(又称NetBeans
平台项目)。我们想要生成项目的代码覆盖报告,以了解哪些组件没有进行单元测试。生成报告不是构建过程的一部分,它只是我们想要做的事情,以了解项目中现有的单元测试覆盖率。
我们决定使用JaCoCo
来尝试生成这个。然而,NetBeans
的原生支持是针对基于maven的项目的。不幸的是,TikiOne JaCoCoverage插件目前不支持NetBeans
模块项目。
我们很高兴通过CLI
来驱动它以获得初始报告。在给定的限制条件下,有人有成功的方法这样做吗?
最近有人在NetBeans邮件列表https://netbeans.org/projects/platform/lists/dev/archive/2014-04/message/124上发布了相关消息
短版本:Cobertura插件,你正在寻找的东西现在没有维护,但你可以构建它并运行它。
通过执行以下操作,我们已经成功地生成了报告:
-
编辑
project.properties
文件,以便在运行单元测试时运行JaCoCo代理。这可以通过添加以下内容来实现:test.run.args=-javaagent:[yourpath/]jacocoagent.jar=destfile=[yourpath/]jacoco.exec
-
使用Netbeans运行
test
任务。这将生成jacoco.exec
文件。 - 创建一个简单的ant构建文件,从
.exec
文件生成报告(见这篇文章) - 运行ant构建文件生成报告。