jenkins集成单元测试及覆盖率

2019-06-15  本文已影响0人  EmilioWong

前言

前一段时间,为了提高项目组内对单元测试的关注度,利用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

上一篇 下一篇

猜你喜欢

热点阅读