Karate 1.1.0报告中callSingle调用的feature步骤混入主feature导致步数错误
配置正确性确认
你的现有配置没有语法逻辑错误,该问题属于Karate 1.1.0的官方已知缺陷:通过karate.callSingle()在全局配置中调用的公共feature执行步骤,会被错误纳入主业务feature的执行步骤统计,最终导致总步数计算异常。
修复方案
最优方案
直接将Karate版本升级至1.2.0及以上,该版本已完成此问题的官方修复,升级后无需修改任何现有配置即可解决报告统计错误问题。
版本无法升级的临时规避方案
如果受项目依赖限制不能升级Karate版本,可通过以下任意一种方式规避:
- 修改
karate.callSingle调用参数,添加report: false配置,禁止公共调用的feature生成报告统计:var values = karate.callSingle({ url: 'classpath:utilsfeatures/auth.feature', report: false }); - 将
auth.feature中的鉴权逻辑改为纯JS实现,直接写在karate-config.js中,避免通过callSingle调用feature文件 - 关闭Runner中
outputCucumberJson(true)配置,使用Karate原生HTML报告替代Cucumber格式报告,原生报告在1.1.0版本中不存在该统计错误
验证方式
修改后重新执行测试,核对汇总报告的总步骤数与one.feature中实际定义的执行步骤数是否一致,确认auth.feature的步骤不再被计入统计即可。
内容的提问来源于stack exchange,提问作者alraj
相关产品推荐
相关产品推荐

