获取集成测试使用TestNG

时间:2015-11-16 23:11:53

标签: java code-coverage jacoco cobertura

我想获得回归测试的代码覆盖率,它测试java webserver端点。

Things I have
1. I am having jar file of source
2. Regression code written using TestNG framework.

所以在这里,我将运行此jar文件来运行webserver,然后我将运行我的回归代码,它将测试运行的webserver.Here我想获得回归测试的代码覆盖率报告。任何人都可以给出任何建议吗?

2 个答案:

答案 0 :(得分:0)

您可以使用EMMA(免费代码覆盖工具)。如果你正在使用eclipse,你可以直接从市场上获取它。它还支持运行单个Java类文件或jar文件。以下是获取更多信息的链接。

http://emma.sourceforge.net/intro.html

答案 1 :(得分:0)

如果您正在使用Maven,可以查看qualinsight-maven-cobertura-mojo。有companion Github project提供了一些示例,说明如何将其与jetty一起使用(版本7.6.x8.1.x9.2.x9.3.x)。在exmaples中正在使用JUnit,但它对结果没有任何影响,如果你愿意,你可以使用TestNG。

该示例显示了如何使用此Maven插件并配置项目以便:

  1. 使用qualinsight-maven-mojo-core
  2. 检测您的代码以进行覆盖
  3. 运行Jetty服务器并部署检测代码
  4. 运行测试(您必须用TestNG替换Junit测试,并确保它们在integration-test阶段运行)
  5. 停止您的Jetty服务器(这会将覆盖文件转储到磁盘)
  6. 生成覆盖率报告
  7. 如果需要,可以使用Generic Coverage插件在SonarQube中导入覆盖率报告(请参阅文档。)

    请注意,与cobertura-maven-plugin相比,此插件具有一些优势和局限性(请参阅其文档),但考虑到您的要求的描述,这些限制似乎都不是您上下文中的阻止程序。