美文网首页自动化测试工具癖程序员
Jenkins集成Cobertura显示代码测试覆盖率报告

Jenkins集成Cobertura显示代码测试覆盖率报告

作者: GuangHui | 来源:发表于2018-03-22 11:46 被阅读39次
    一. 概述

    测试驱动的开发不能超过测试所能达到的程度。测试改进了代码质量,但这也只是针对实际测试到的那部分代码而言的。您需要有一个工具告诉您程序的哪些部分没有测试到,这样就可以针对这些部分编写测试代码并找出更多 bug。

    Mark Doliner 的 Cobertura (cobertura 在西班牙语是覆盖的意思)是完成这项任务的一个免费 GPL 工具。Cobertura 通过用额外的语句记录在执行测试包时,哪些行被测试到、哪些行没有被测试到,通过这种方式来度量字节码,以便对测试进行监视。然后它生成一个 HTML 或者 XML 格式的报告,指出代码中的哪些包、哪些类、哪些方法和哪些行没有测试到。可以针对这些特定的区域编写更多的测试代码,以发现所有隐藏的 bug。

    下面简单介绍一下,如果使用Jenkins集成Cobertura显示代码测试覆盖率报告

    二. maven集成Cobertura

    我的项目是用maven作为构建工具,需要maven集成Cobertura,故要在pom.xml文件中增加cobertura-maven-plugin插件:

            <plugins>       
                    <!--  cobertura plugin start -->
                    <plugin>
                        <groupId>org.codehaus.mojo</groupId>  
                        <artifactId>cobertura-maven-plugin</artifactId>  
                        <version>2.7</version>  
                        <configuration>  
                            <formats>  
                                <format>html</format>  
                                <format>xml</format>  
                            </formats>  
                        </configuration>  
                    </plugin>       
                    <!--  cobertura plugin end -->
                    
            </plugins>
    

    我的项目采用的是微服务架构,只需要在自己要出报告的模块pom.xml中添加如上插件即可.

    三. Jenkins安装Cobertura插件
    四. 配置Jenkins任务
    1. 修改maven执行命令,添加Cobertura执行命令
    cobertura:cobertura
    # 标注、运行测试并产生 Cobertura 覆盖率报告
    
    1. 在Add post build action(构建后操作)这个配置项中选择如下Publish Cobertura Coverage Report:


    2. 选择完后会显示一个配置项, 这里填上你最终cobertura生成xml report的路径,我的路径是**/target/site/cobertura/coverage.xml

    4. 重新build项目

    就可以在项目首页看到code coverage report:



    第一次构建,右侧的代码覆盖率报告可能会显示为空,没有关系的,多构建几次就出来了.
    点击进去,可以查看更为详细的报告信息:


    具体如何查看Cobertura输出报告,可参考文章<用 Cobertura 测量测试覆盖率>.

    五. 参考文章:
    1. jenkins集成cobertura,调用显示cobertura的report
    2. 用 Cobertura 测量测试覆盖率.

    相关文章

      网友评论

        本文标题:Jenkins集成Cobertura显示代码测试覆盖率报告

        本文链接:https://www.haomeiwen.com/subject/pkzoqftx.html