测者陈磊

测者的测试技术手册:自动的自动化框架EvoSuite集成Cobe

2018-12-17  本文已影响6人  Criss陈磊

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

关注测者,关注测试

上一篇下一篇

猜你喜欢

热点阅读