You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Geb Spock的Athaydes HTML报告中实现td标签多条件判断

修正后的Final Status列实现代码

我来帮你搞定这个测试报告的Final Status列问题,你的核心需求是当测试用例没有失败、错误和跳过的情况时显示PASS,否则显示FAILED,原来的代码主要是语法逻辑写错了,下面是修正后的完整表格代码:

<table class="summary-table"> 
  <thead> 
    <tr> 
      <th>Name</th> 
      <th>Features</th> 
      <th>Failed</th> 
      <th>Errors</th> 
      <th>Skipped</th> 
      <th>Time</th> 
      <th>Final Status</th> 
    </tr> 
  </thead> 
  <tbody> 
    <% data.each { name, map -> def s = map.stats%> 
    <tr class="${s.errors ? 'error' : ''} ${s.failures ? 'failure' : ''} "> 
      <td><a href="${name}.html">$name</a></td> 
      <td>${s.totalRuns}</td> 
      <td>${s.failures}</td> 
      <td>${s.errors}</td> 
      <td>${s.skipped}</td> 
      <td>${fmt.toTimeDuration(s.time)}</td> 
      <td>${(s.failures == 0 && s.errors == 0 && s.skipped == 0) ? 'PASS' : 'FAILED'}</td> 
    </tr> 
    <% } %> 
  </tbody> 
</table>

关键修改说明

  • 修正了<td>内的条件判断逻辑:用Groovy的三元运算符直接判断失败数、错误数、跳过数是否全部为0,满足条件则输出PASS,否则输出FAILED
  • 移除了原来错误的if属性写法,这个Groovy模板环境下不需要这种写法,直接通过${}嵌入表达式即可
  • 确保逻辑覆盖所有非通过场景:只要有任意一个失败、错误或者跳过的测试用例,就会显示FAILED

内容的提问来源于stack exchange,提问作者Durgesh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 07:20:46