白盒测试 多 module 的 maven 项目,怎么生成完整的测试报告

waitors · 2020年12月04日 · 最后由 Eric Shu 回复于 2021年03月15日 · 3551 次阅读

公司项目结构是多模块的 maven 项目,每个模块都有单独的单元测试用例,用 testng.xml 来进行管理。领导希望能出一个完整项目的单元测试报告和完整单元测试的代码覆盖率统计。现在用 jacoco 初步的整理出来单测覆盖率,但是不同模块的单测结果不晓得怎么整合一起?

1.目前的项目结构
common-main
--module-A
--testng_A.xml
--module-B
--testng_B.xml

2.common-main是顶层模块,只要一个 pom 文件,module-Amodule-B是子模块,每个子模块下都有一个testng.xml管理模块的单元用例。之前尝试用suite-files来管理不同的 suite,但是不同的模块编译后的 class 也在各个模块中,会报错找不到类。而且不同模块 src/test 下的单元测试用例也无法相互调用。现在这种不同模块的单测报告整合,大家有这种需求或进行过类似的操作吗,还是一开始思路就不对,求指教!

共收到 4 条回复 时间 点赞

父 pom 文件关联 moudle 中的全部 testng.xml 文件 ,记得 testng 监听加上

2楼 已删除
哈哈先生 回复

@ 哈哈先生 感谢你的回复,我试了下没成功,testng 的监听这块能讲更具体一点吗,监听后能报告聚合到一起?

哈哈先生 回复

@ 哈哈先生 参照你的思路,在每个子模块中添加了 testng 的 IReporter 监听器,由于加了 allure 做报表,所以监听到子模块的单测测完后,把子模块的 allure-results 中的.json 文件 copy 到一个统一的位置,生成的报告就是包含所有模块的聚合报告,算是曲线救国了 😂

可以参考下 jacoco-maven-plugin 插件 ReportAggregate 实现方式实现

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册