功能覆盖率测试中Serenity报告Feature文件名重复,附POM求修复方案
修复方案
你遇到的Feature文件名重复展示是Serenity 2.2.x版本与Cucumber5集成时的已知缺陷,同时并行测试场景下旧版本报告聚合逻辑也会触发该问题,可按以下步骤修复:
- 统一升级依赖版本
将pom.xml中serenity.version、serenity.maven.version、serenity.cucumber.version三个属性值同步升级到2.3.12及以上稳定版本(推荐使用3.2.0版本),同时将cucumber.version调整为6.10.4,高版本Serenity已经原生修复了重复统计的问题,且与Cucumber6兼容性更好。 - 增加报告去重配置
在项目根目录新增serenity.properties配置文件,添加配置项:
开启该配置后,Serenity聚合报告时会自动合并相同路径、相同名称的Feature条目,避免并行执行多线程统计导致的重复。serenity.report.aggregate.mergeduplicates=true - 清理旧报告残留
每次执行测试前先清空target/site/serenity目录下的历史报告文件,避免旧执行结果与新结果叠加导致重复统计,也可以在serenity-maven-plugin的configuration节点下新增<clean>true</clean>配置,每次聚合报告前自动清理历史数据。 - 检查Feature文件规则
不要将重名且Feature头部描述完全相同的.feature文件放在不同目录下,如果确实有重名需求,可修改Feature文件开头的描述内容,Serenity会按「文件路径+Feature描述」的规则做去重判断,描述不同的重名文件会被识别为不同条目,不会被错误合并。
内容的提问来源于stack exchange,提问作者Pridhvi Mallikharjun
相关产品推荐
相关产品推荐

