测者的测试技术手册:自动的自动化框架EvoSuite集成Cobertura得到可视化的代码覆盖报告

EvoSuite是由Sheffield等大学联合开发的一种开源工具,用于自动生成测试用例集,生成的测试用例均符合Junit的标准,可直接在Junit中运行。得到了Google和Yourkit的支持。

随着单元测试的AI化,衡量单元测试的标准变得尤其重要,那么分析单元测试的代码覆盖率是一种行之有效的方法。Cobertura 是一种开源工具,它通过检测基本的代码,并观察在测试包运行时执行了哪些代码和没有执行哪些代码,来测量测试覆盖率。Cobertura提供了Ant和Maven的执行方式,并且Cobertura要比JaCoCo配置和使用起来更方便。

EvoSuite和Cobertura的集成

EvoSuite可以和Cobertura无缝集成,只需要在配置文件中加入如下配置,就可以了(在平行于build下):

  1.    

  2.      

  3.        org.codehaus.mojo

  4.        cobertura-maven-plugin

  5.        2.7

  6.      

  7.    

  8.  

同时需要在build的插件中加入

  1.  

  2.                org.codehaus.mojo

  3.                cobertura-maven-plugin

  4.                2.7

  5.                

  6.                    

  7.                        

  8.                            com.example.boringcode.*

  9.                        

  10.                        

  11.                            com/example/dullcode/**/*.class

  12.                            com/example/**/*Test.class

  13.                        

  14.                    

  15.                

  16.                

  17.                    

  18.                        

  19.                            clean

  20.                        

  21.                    

  22.                

  23.            

就可以在MavenProjects插件中看到Cobertura的使用插件了。

其中:

  1. coberturahelp 检查cobertura插件的帮助(也可以check配置是不是正确)

  2. coberturaclean  情况cobertura运行结果

  3. coberturacheck  运行cobertura的检测任务

  4. coberturacobertura 运行cobertura的检查任务并生产报告,报告在/target/site/cobertura

  5. coberturadump-datafile coberturadatafile dump Mojo

  6. coberturainstrument  检查编译过的classes

关注测者,关注测试

测者的测试技术手册:自动的自动化框架EvoSuite集成Cobertura得到可视化的代码覆盖报告_第1张图片

你可能感兴趣的:(测者的测试技术手册:自动的自动化框架EvoSuite集成Cobertura得到可视化的代码覆盖报告)