美文网首页
jenkins集成单元测试及覆盖率

jenkins集成单元测试及覆盖率

作者: EmilioWong | 来源:发表于2019-06-15 23:17 被阅读0次

    前言

    前一段时间,为了提高项目组内对单元测试的关注度,利用jenkins的定时部署和邮件发送功能,每天定时给组内人员发送单元测试的报告。另外,再加入了覆盖率报告,以期望达到覆盖率不下降的目标。

    jenkins插件

    JaCoCo plugin,Email Extension Plugin

    jenkins页面

    jenkins报告

    邮件模板

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>${ENV, var="JOB_NAME"}-第${BUILD_NUMBER}次构建</title>
    </head>
     
    <body leftmargin="8" marginwidth="0" topmargin="8" marginheight="4"
        offset="0">
        <table width="95%" cellpadding="0" cellspacing="0"
            style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif">
            <tr>
                <td>
                    <br />
                    <b><font color="#0B610B">构建信息</font></b>
                    <hr size="2" width="100%" align="center" />
                 </td>
            </tr>
            <tr>
                <td>
                    <ul>
                        <li>项目名称&nbsp;:&nbsp;${PROJECT_NAME}</li>
                        <li>git分支&nbsp;&nbsp;&nbsp;:&nbsp;${GIT_BRANCH}</li>
                        <li>触发原因&nbsp;:${CAUSE}</li>
                        <li>构建日志&nbsp;:&nbsp;<a href="${BUILD_URL}console">${BUILD_URL}console</a></li>
                        <li>单元测试报告&nbsp;:<a href="${BUILD_URL}testReport/">${BUILD_URL}testReport/</a></li>
                        <li>jacoco覆盖率报告&nbsp;:<a href="${BUILD_URL}jacoco/">${BUILD_URL}jacoco/</a></li>
                    </ul>
                </td>
            </tr>
            <tr>
                <td><b><font color="#0B610B">失败case</font></b>
                <hr size="2" width="100%" align="center" /></td>
            </tr>
            <tr>
                <td>
                    ${FAILED_TESTS}
                </td>
            </tr>
            <tr>
                <td><b><font color="#0B610B">测试结果趋势:</font></b>
                <hr size="2" width="100%" align="center" /></td>
            </tr>
            <tr>
                <td>
                    <img src="${PROJECT_URL}test/trend" />
                </td>
            </tr>
            <tr>
                <td><b><font color="#0B610B">覆盖率趋势:</font></b>
                <hr size="2" width="100%" align="center" /></td>
            </tr>
            <tr>
                <td>
                    <img src="${PROJECT_URL}jacoco/graph" />
                </td>
            </tr>
        </table>
    </body>
    </html>
    

    一些不足的地方

    原本在邮件模板里想使用jenkins页面上的两个图片,直接使用图片的url的话,由于jenkins没有给guest读权限,邮件接受者如果没有登录jenkins,图表显示不出来。而图片貌似是根据url请求生成的临时图片,在jenkins服务器上找不到存储在磁盘上的图片文件。最后退而求其次,使用jacoco生成的html报告,实际邮件显示并不太理想。

    参考资料

    http://www.cnblogs.com/sparkdev/p/7397394.html

    https://stackoverflow.com/questions/9595286/jenkins-sending-build-trend-graph-as-email

    https://blog.csdn.net/pansaky/article/details/80882362

    相关文章

      网友评论

          本文标题:jenkins集成单元测试及覆盖率

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