刚工作的时候,当时公司对代码质量要求比较高,每一个人的代码都要写junit,而且要生成测试报告,项目经理要看行覆盖率和分支覆盖率,记得当时的项目是用ant编译的,生成测试报告那个复杂啊,不会写,现在用了maven,发现这在maven下根本不是事,只需要在pom.xml中配置一个插件即可,废话不多说,直接上代码:

<build>
    <finalName>Demo</finalName>

    <plugins>
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>cobertura-maven-plugin</artifactId>
            <version>2.5.2</version>
            <configuration>
                <encoding>UTF-8</encoding>
                <formats>
                    <format>html</format>
                    <format>xml</format>
                </formats>
            </configuration>
        </plugin>
    </plugins>

</build>  

然后打开cmd切到pom.xml所在文件夹,运行命令:

mvn cobertura:cobertura  

即可,然后我们打开{project}targetsitecoberuraindex.html就可以看到测试报告了,这个测试报告里面不仅有行覆盖率还有分支覆盖率,例如:

20150412205334

相信不用我解释,看这篇文章的人一定能看懂是什么意思。
下面是一些cobertura插件的常用命令

mvn cobertura:help 查看cobertura插件的帮助  
mvn cobertura:clean 清空cobertura插件运行结果  
mvn cobertura:check 运行cobertura的检查任务  
mvn cobertura:cobertura 运行cobertura的检查任务并生成报表,报表生成在target/site/cobertura目录下  
cobertura:dump-datafile Cobertura Datafile Dump Mojo  
mvn cobertura:instrument Instrument the compiled classes  

至于有什么效果,请大家自己写一个例子,跑一下就可以了。

最后多说一点,关于maven的插件其实非常多,用法也相对都比较简单,网上的资料也比较多,今天这篇文章算是抛砖引玉,所以推荐大家今后尽量用maven编译项目