gpt4 book ai didi

java - 以编程方式启动 SonarQube 运行程序以进行集成测试插件

转载 作者:行者123 更新时间:2023-12-01 09:57:31 25 4
gpt4 key购买 nike

我正在开发 SonarQube 插件,并希望添加一些针对正在运行的服务器进行集成测试的测试。

我正在 Docker 容器中启动服务器,然后希望在 JUnit 测试中对它们执行 Sonar 分析。

这看起来可以使用org.sonarsource.scanner.api.EmbeddedScanner实现,但可能有更好的方法。

使用 EmbeddedScanner 的一个缺点是我只能分析磁盘上的静态文件。

有更好的方法吗?

最佳答案

您可以(应该)通过向分析器传递字符串来对其进行单元测试。但一旦您谈论集成测试,那么您实际上就必须使用物理文件。

您可以看看我们如何为扫描仪部分编写“中测试”: https://github.com/SonarSource/sonarqube/tree/5.5/sonar-scanner-engine/src/test/java/org/sonar/batch/mediumtest

请注意,此 BatchMediumTester 实用程序类不是 API,并且不保证在未来版本中向后兼容。因此,您无法编写“中等测试”并针对不同版本的 SonarQube 运行它们。

为了运行集成测试,我们使用 SonarQube Scanner“像真实用户一样”运行 SonarQube 分析。我们有一个名为 Orchestrator 的工具,它能够启动给定版本的 SonarQube 服务器、安装插件、填充质量配置文件,然后运行分析。参见示例: https://github.com/SonarSource/sonar-scm-svn/blob/master/its/src/test/java/com/sonarsource/it/scm/SvnTest.java

关于java - 以编程方式启动 SonarQube 运行程序以进行集成测试插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37070935/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com