10.2.2 及更高版本包含与覆盖率收集相关的改进。

收集单元测试的覆盖率

在低于 10.2.2 的 Jtest 版本中需要通过对类文件进行静态插桩来收集覆盖率。10.2.2(构建系统插件 1.2.4)版本则引入了使用 Jtest JVM 代理通过运行时字节码插桩收集测试覆盖率的功能。这涉及到 Maven、Gradle 和 Ant 的 Jtest 插件中的以下变更:

Maven

  • 删除了 jtest:coverage 目标。mvn test-compile jtest:instrument test 命令将产生相同的结果。
  • jtest:instrument 和 jtest:instrument-test 目标已合并为一个 jtest:instrument 目标来执行这两个作业,在命令行执行时,需要先执行 test-compile 阶段。
  • 新增了 jtest:agent 目标。

详细信息,请参阅通过 Maven 进行测试和分析

Gradle

  • 删除了 jtest:coverage 任务。gradle jtest-instrument test 命令将产生相同的结果。
  • jtest-instrument 和 jtest-instrument-test 任务已合并为一个 jtest:instrument 目标来执行这两个作业。
  • 新增了 jtest-agent 目标。

详细信息,请参阅通过 Gradle 进行测试和分析

Ant

  • 新增了 jtest:agent 目标。

详细信息,请参阅使用 Ant 进行测试和分析

收集应用程序的覆盖率

Maven

  • 删除了 jtest:collectStaticCoverage 目标。
  • 删除了 jtest:configureAgent 目标。
    删除了 jtest:loadCoverage 目标。现在使用以下命令报告应用程序的覆盖率数据:

    java -jar jtestcov.jar -static [path to static_coverage.xml file] -runtime [dir with runtime_coverage files]
  • 新增了 jtest:monitor 目标;有关这些目标参数的列表,请参阅 Maven 的 Jtest 目标参考

详细信息,请参阅应用程序覆盖率

  • No labels