最近的iOS项目的Unit Test平台终于稳定下来了,然后就着手完善一些报告的格式。
想法: jenkins build完后的结果只有fail的case,太笼统了一点,于是想在报告中加入分类结果,与最近一个有结果的Build相对比,把结果显示成三类:
- Fixed的case.
- 新增fail的case.
- 一直fail的case.
实现:修改.jelly模板,与前面的build结果,前面build的结果有而当前build的结果没的case就是fixed的case。其他分类也可以类似地实现。
<j:set var="lastJunitTestAction" value="${build.previousNotFailedBuild}" />
<br />
<j:set var="DidShowCase" value="NO" />
<table border="1px" class="pane">
<j:forEach var="failed_test" items="${lastJunitTestAction.testResultAction.failedTests}">
<j:set var="isFind" value="NO" />
<j:forEach var="failCases" items="${build.testResultAction.failedTests}">
<j:if test="${failed_test.safeName==failCases.safeName}"><j:set var="isFind" value="YES" /></j:if>
</j:forEach>
<j:set var="isFix" value="Fixed" />
<j:if test="${isFind=='YES'}"><j:set var="isFix" value="NO" /></j:if>
<j:if test="${isFix=='Fixed'}">
<tr>
<td class="test_passed" colspan="5">${failed_test.simpleName}.${failed_test.safeName}</td>
<j:set var="DidShowCase" value="YES" />
</tr>
</j:if>
</j:forEach>
</table>