Jacoco 是不是记录单元测试持续时间?
Posted
技术标签:
【中文标题】Jacoco 是不是记录单元测试持续时间?【英文标题】:Does Jacoco record unit test duration?Jacoco 是否记录单元测试持续时间? 【发布时间】:2017-06-02 17:03:45 【问题描述】:您可以使用Jacoco 代理运行JUnit 测试以生成出色的覆盖率报告。 (它在单元测试的运行过程中产生一个不透明的*.exec
文件)。
Sonar 等一些工具 - 读取 *.exec
文件并收集数据以生成报告。声纳能够告诉单元测试持续时间 - 但我不确定它是否从这个 *.exec
文件中获取。
我的问题是:Jacoco 是否记录单元测试持续时间?(无论它是否在生成的报告中显示)。
【问题讨论】:
【参考方案1】:不,JaCoCo 不记录时间。
SonarQube reads time of execution of tests from reports generated by maven-surefire-plugin.
【讨论】:
【参考方案2】:JaCoCo 对单个 JUnit(或 TestNG 等)测试一无所知。它知道用于覆盖的类。
但是,JUnit 测试运行程序会在它为测试运行生成的 XML 输出文件中记录测试执行时间(通过 Ant junit
任务或 Maven Surefire)。使用 Ant 时,junitreport
任务会在 html 报告中显示测试执行时间。
【讨论】:
以上是关于Jacoco 是不是记录单元测试持续时间?的主要内容,如果未能解决你的问题,请参考以下文章
带有 jacoco 插件的 SonarQube 覆盖百分比显示为零,但可以看到单元测试的数量