执行分析后如何将测试结果和代码覆盖率结果发送到 SonarQube 项目
Posted
技术标签:
【中文标题】执行分析后如何将测试结果和代码覆盖率结果发送到 SonarQube 项目【英文标题】:How to send test results and code coverage results to SonarQube project after executing analysis 【发布时间】:2021-09-20 11:46:36 【问题描述】:我有一个单体应用程序,我想同时执行静态代码分析和代码覆盖率报告给声纳。但是,我的声纳扫描至少需要 30 分钟,这对于 CI 反馈时间非常不利。
我想知道是否有一种方法可以在不同任务的同时运行静态代码分析,并在 CI 的后期向声纳报告测试覆盖率。我需要它们在一次扫描中。
SQ 文档清楚地说明了并行扫描不可用。但是,这不是并行的,而只是聚合。
【问题讨论】:
【参考方案1】:这是不可能的。 SonarScanner 将所有数据一起发送。它还需要访问测试结果以正确呈现数据。您可以考虑将测试执行拆分到安全的某个时间。
/-> test 1/3 --\
/ \
Start --> Build ----> test 2/3 -----> SonarScanner --> End
\ /
\-> test 3/3 --/
【讨论】:
我确实有 20 次并行运行的并行测试。由于设计限制,无法进一步划分它们。只要我事先执行静态代码扫描器以及构建或测试等其他阶段,我就可以一次性将数据发送到 sonarqube 服务器。 如我所写,不可能分两步完成。以上是关于执行分析后如何将测试结果和代码覆盖率结果发送到 SonarQube 项目的主要内容,如果未能解决你的问题,请参考以下文章