EvoSuite是由Sheffield等大学联合开发的一种开源工具,用于自动生成测试用例集,生成的测试用例均符合Junit的标准,可直接在Junit中运行。获得了Google和Yourkit的支持。bash
随着单元测试的AI化,衡量单元测试的标准变得尤为重要,那么分析单元测试的代码覆盖率是一种行之有效的方法。Cobertura 是一种开源工具,它经过检测基本的代码,并观察在测试包运行时执行了哪些代码和没有执行哪些代码,来测量测试覆盖率。Cobertura提供了Ant和Maven的执行方式,而且Cobertura要比JaCoCo配置和使用起来更方便。maven
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的使用插件了。测试
其中:ui
cobertura:help 检查cobertura插件的帮助(也能够check配置是否是正确)cobertura:clean 状况cobertura运行结果cobertura:check 运行cobertura的检测任务cobertura:cobertura 运行cobertura的检查任务并生产报告,报告在/target/site/cobertura下cobertura:dump-datafile cobertura的datafile dump Mojocobertura:instrument 检查编译过的classes复制代码