EvoSuite是由Sheffield等大学联合开发的一种开源工具,用于自动生成测试用例集,生成的测试用例均符合Junit的标准,可直接在Junit中运行。得到了Google和Yourkit的支持。
随着单元测试的AI化,衡量单元测试的标准变得尤其重要,那么分析单元测试的代码覆盖率是一种行之有效的方法。Cobertura 是一种开源工具,它通过检测基本的代码,并观察在测试包运行时执行了哪些代码和没有执行哪些代码,来测量测试覆盖率。Cobertura提供了Ant和Maven的执行方式,并且Cobertura要比JaCoCo配置和使用起来更方便。
EvoSuite和Cobertura的集成
EvoSuite可以和Cobertura无缝集成,只需要在配置文件中加入如下配置,就可以了(在平行于build下):
-
<reporting> -
<plugins> -
<plugin> -
<groupId>org.codehaus.mojo</groupId> -
<artifactId>cobertura-maven-plugin</artifactId> -
<version>2.7</version> -
</plugin> -
</plugins> -
</reporting>
同时需要在build的插件中加入
-
<plugin> -
<groupId>org.codehaus.mojo</groupId> -
<artifactId>cobertura-maven-plugin</artifactId> -
<version>2.7</version> -
<configuration> -
<instrumentation> -
<ignores> -
<ignore>com.example.boringcode.*</ignore> -
</ignores> -
<excludes> -
<exclude>com/example/dullcode/**/*.class</exclude> -
<exclude>com/example/**/*Test.class</exclude> -
</excludes> -
</instrumentation> -
</configuration> -
<executions> -
<execution> -
<goals> -
<goal>clean</goal> -
</goals> -
</execution> -
</executions> -
</plugin>
就可以在MavenProjects插件中看到Cobertura的使用插件了。
其中:
-
cobertura:help 检查cobertura插件的帮助(也可以check配置是不是正确) -
cobertura:clean 情况cobertura运行结果 -
cobertura:check 运行cobertura的检测任务 -
cobertura:cobertura 运行cobertura的检查任务并生产报告,报告在/target/site/cobertura下 -
cobertura:dump-datafile cobertura的datafile dump Mojo -
cobertura:instrument 检查编译过的classes
浙公网安备 33010602011771号