測者的測試技術手冊:自動的自動化框架EvoSuite集成Cobertura得到可視化的代碼覆蓋報告

EvoSuite是由Sheffield等大學聯合開發的一種開源工具,用於自動生成測試用例集,生成的測試用例均符合Junit的標準,可直接在Junit中運行。得到了Google和Yourkit的支持。

隨着單元測試的AI化,衡量單元測試的標準變得尤其重要,那麼分析單元測試的代碼覆蓋率是一種行之有效的方法。Cobertura 是一種開源工具,它通過檢測基本的代碼,並觀察在測試包運行時執行了哪些代碼和沒有執行哪些代碼,來測量測試覆蓋率。Cobertura提供了Ant和Maven的執行方式,並且Cobertura要比JaCoCo配置和使用起來更方便。

EvoSuite和Cobertura的集成

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


 
  1. <reporting>

  2.    <plugins>

  3.      <plugin>

  4.        <groupId>org.codehaus.mojo</groupId>

  5.        <artifactId>cobertura-maven-plugin</artifactId>

  6.        <version>2.7</version>

  7.      </plugin>

  8.    </plugins>

  9.  </reporting>

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


 
  1.   <plugin>

  2.                <groupId>org.codehaus.mojo</groupId>

  3.                <artifactId>cobertura-maven-plugin</artifactId>

  4.                <version>2.7</version>

  5.                <configuration>

  6.                    <instrumentation>

  7.                        <ignores>

  8.                            <ignore>com.example.boringcode.*</ignore>

  9.                        </ignores>

  10.                        <excludes>

  11.                            <exclude>com/example/dullcode/**/*.class</exclude>

  12.                            <exclude>com/example/**/*Test.class</exclude>

  13.                        </excludes>

  14.                    </instrumentation>

  15.                </configuration>

  16.                <executions>

  17.                    <execution>

  18.                        <goals>

  19.                            <goal>clean</goal>

  20.                        </goals>

  21.                    </execution>

  22.                </executions>

  23.            </plugin>

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

其中:


 
  1. cobertura:help 檢查cobertura插件的幫助(也可以check配置是不是正確)

  2. cobertura:clean  情況cobertura運行結果

  3. cobertura:check  運行cobertura的檢測任務

  4. cobertura:cobertura 運行cobertura的檢查任務並生產報告,報告在/target/site/cobertura下

  5. cobertura:dump-datafile cobertura的datafile dump Mojo

  6. cobertura:instrument  檢查編譯過的classes

關注測者,關注測試

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章