gradle复习(7)-深入Jacoco

来源:互联网 发布:免费追书软件 编辑:程序博客网 时间:2024/05/29 14:08

本博客全部为原创,转载请注明出处:D.Q的专栏(http://blog.csdn.net/itfootball)。

如有疑惑,请到TesterHome(http://testerhome.com/)论坛交流。




接着昨天的写,昨天讲到jacoco可以test任务中配置,形式如下:


test {useTestNG();jacoco{......}}

之前的文章讲了append和destinaFile这两个属性,下面接着讲第三个属性。


3.classDumpFile


将jacoco检测到的class文件保存到的文件

build.gradle


test {useTestNG();jacoco{append = falsedestinationFile = file("$buildDir/doctor/doctorq.exec")classDumpFile = file("$buildDir/doctor/class")}}

执行gradle clean test后,会发现多了一个build/doctor/class文件:




这里面的文件和exec文件里列举的一样。这个属性不太需要,过了!


不止是test任务


我们之前讲的所有关于jacoco的内容,都是收集test任务的代码覆盖率。但是jacoco不只是用于这样一个测试任务,由于jacoco的原理是在jvm环境中进行插桩监控jvm中被调用的代码,那么只要是在java进程中执行的任务,都可以用jacoco来收集信息。好,下面来举例说明:当我们执行java程序main方法时,也可以通过jacoco来收集main方法的代码覆盖率。

新增main方法:

public class MyMain {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubPerson person = new Person("Larry");System.out.println(person.getName());}}
build.gradle中新增任务


jacoco{toolVersion = "0.7.1.201405082137"reportsDir = file("$buildDir/customJacocoReportDir")applyTo run}task applicationCodeCoverageReport(type:JacocoReport){executionData runsourceSets sourceSets.main}

我们执行run任务再执行applicationCodeCoverageReport任务,看结果输出


D:\eclipse\workspare\TestNG_gradl>gradle clean run applicationCodeCoverageRepor:clean:compileJava:processResources:classes:runLarry:applicationCodeCoverageReportBUILD SUCCESSFULTotal time: 6.333 secs

然后看代码覆盖率的报告




上面的例子中我们测试了main方法代码覆盖率,还有很多其他的任务可以获得代码覆盖率信息,等待我以后了解了再添加。





1 0
原创粉丝点击