可参照网页:中文: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 代码的覆盖率。
4 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 就不贴图了。
原文地址:http://blog.csdn.net/aaashen/article/details/45498941