2016-05-06 4 views
0

私はSonarQubeプラグインで作業しており、実行中のサーバーに対する統合テストをいくつか追加したいと考えています。統合テストプラグインのためのSonarQubeランナーをプログラム的に起動

私はドッカーのコンテナでサーバーを起動しています。そのため、JUnitテストからソナー解析を実行したいと考えています。

これはorg.sonarsource.scanner.api.EmbeddedScannerを使用しているようですが、より良い方法があるかもしれません。

EmbeddedScannerを使用することの1つの欠点は、ディスク上の静的ファイルのみを解析できることです。

良いアプローチがありますか?

答えて

1

アナライザーは、Stringを渡してユニットテストを行うことができます(必要があります)。しかし、統合テストについて話すとすぐに、実際には物理ファイルで作業する必要があります。このBatchMediumTesterユーティリティクラスはAPIではなく、将来のバージョンでは下位互換性があることが保証されていないことを https://github.com/SonarSource/sonarqube/tree/5.5/sonar-scanner-engine/src/test/java/org/sonar/batch/mediumtest

注:

あなたは私たちがスキャナ部のための「メディアのテスト」の書き込み方法を見て持つことができます。したがって、 "中程度のテスト"を書いてSonarQubeの異なるバージョンに対して実行することはできません。

統合テストを実行するには、SonarQubeスキャナーを使用して「実ユーザのように」SonarQube解析を実行しています。 Orchestratorという名前のツールがあり、SonarQubeサーバーの特定のバージョンを起動し、プラグインをインストールし、品質プロファイルを作成して分析を実行することができます。 例: https://github.com/SonarSource/sonar-scm-svn/blob/master/its/src/test/java/com/sonarsource/it/scm/SvnTest.java

関連する問題