1

Jenkins で (非常に単純な) ビルド パイプラインを 2 つのジョブに構築したとします。

  1. コンパイルと単体テスト
  2. 統合テスト

理想的には、両方のテスト セットから SonarQube にコード カバレッジを取得したいと考えています。これは可能ですか?SonarQube は、すべての更新がプロジェクト全体に対する単一のトランザクションであると想定しているようです。

最初は、インクリメンタル分析が追加されたことに興奮しましたが、これは別のユースケースを対象としているようです: 変更されたファイルのみのコミット前チェックを行うことです。

SonarQube でこれを行う方法がない場合は、単体テストから (少なくとも SonarQube で) コード カバレッジを利用できるようにするか、ステップ 2 の後まで SonarQube プロジェクトの更新を遅らせるかのいずれかに制限されますが、統合テストには時間がかかります。つまり、SonarQube の結果が遅れます。

人々はこれを現実の世界でどのように扱っていますか?

4

1 に答える 1

0

残念ながら、SonarQube 分析はすべて一度に実行する必要があるため、統合テストが終了するまで待ってから、「reuseReport」モードを使用して以前の単体テスト実行の結果を使用する必要があります。

Java の再利用情報を報告する: http://docs.codehaus.org/display/SONAR/Code+Coverage+by+Unit+Tests+for+Java+Project#CodeCoveragebyUnitTestsforJavaProject-ReusingExistingReports

.net の場合: http://docs.codehaus.org/display/SONAR/Unit+Tests,+Integration+Tests+and+Code+Coverage

于 2014-02-13T12:58:14.193 に答える