emma-maven-plugin 统计java覆盖率插件

来源:互联网 发布:图片定制软件 编辑:程序博客网 时间:2024/05/20 05:06

可参照网页:中文:http://www.cnblogs.com/morebetter/archive/2013/06/26/3156756.html

http://www.ibm.com/developerworks/cn/opensource/os-cn-emma/index.html#download

英文:http://emma.sourceforge.net/ 需要翻墙

EMMA 核心插件 emma.jar 包,需要到官网上http://emma.sourceforge.net/ 下载。

1 EMMA 是一个开源、面向 Java 程序测试覆盖率收集和报告工具。它通过对编译后的 Java 字节码文件进行插装,在测试执行过程中收集覆盖率信息,并通过支持多种报表格式对覆盖率结果进行展示。 EMMA 所使用的字节码插装不仅保证 EMMA 不会给源代码带来“脏代码”,还确保 EMMA 摆脱了源代码的束缚,这一特点使 EMMA 应用于功能测试成为了可能。
2 在测试中使用 EMMA 收集覆盖率信息之前,需要从 EMMA 的网站上下载 emma.jar 包。在这个网站上还可以得到更多关于 EMMA 的资源。
3 EMMA 只能收集 Java 代码的覆盖率。

EMMA也可以和ant、maven等组合使用。需要下载相应的插件。

5 由于工作上经常用maven管理工程,本文主要讲emma 和maven的组合使用方式。

主要参考:

http://mojo.codehaus.org/emma-maven-plugin/

http://mojo.codehaus.org/emma-maven-plugin/usage.html


需要下载两个包:maven-emma-plugin-0.6.jar emma-stable-2.1.5320-lib.zip。

将zip解压后,将maven-emma-plugin-0.6.jar 和emma.jar拷贝至{JAVA_HOME}jre\lib\ext文件夹下。

在工程的POM文件中添加以下依赖:

<build>    <plugins>           <plugin>        <groupId>org.apache.maven.plugins</groupId>        <artifactId>maven-surefire-plugin</artifactId>        <inherited>true</inherited>        <configuration>          <forkMode>once</forkMode>          <reportFormat>xml</reportFormat>          <classesDirectory>${project.build.directory}/generated-classes/emma/classes</classesDirectory>            </configuration>              </plugin>    </plugins>  </build>
以及

<reporting>        <plugins>        <plugin>              <groupId>org.codehaus.mojo</groupId>        <artifactId>emma-maven-plugin</artifactId>        <version>1.0-alpha-3</version>        <inherited>true</inherited>                </plugin>      <plugin>         <groupId>org.codehaus.mojo</groupId>         <artifactId>surefire-report-maven-plugin</artifactId>         <inherited>true</inherited>      </plugin>           </plugins>        </reporting>  
这个是激活产生report的,如果不加就不会产生。

另外,要注意放置的位置。

上文给出的链接将emma-maven-plugin也添加至plugins中。由于我们直接将其放置jre目录下,所以不用加了。

添加完之后,在pom文件右上方点击reimport。重新导入后在terminal中运行mvn emma:emma.

此时提示writing [xml] report to。。。

在target底下可以看到有site 和surefire文件夹,里面即产生的report。打开index.html可以看非常详细覆盖率信息。其页面如下:http://blog.chinaunix.net/uid-23741326-id-3716696.html 就不贴图了。


0 0
原创粉丝点击