4

Android プロジェクトのSonarへの継続的インテグレーション Jenkins ビルドから JUnit テスト レポートを取得しようとしています。私は成功まであとわずかで、最後のステップがわかりません。

ビルドは Ant で行います。

私はJenkinsが開始したエミュレーターを使用しており、欠落しているAndroid XML JUnit test runnerでテストを実行しています。com.my.package.thing-TEST.xmlテストが実行され、テスト ランナーの作成者から提供された指示に従って、JUnit XML 結果ファイル ( など) をデバイスから指定されたディレクトリにプルすることに成功しました。

ソナー分析は、 Jenkins Sonar プラグインによって提供される「Invoke Standalone Sonar Analysis」ビルド ステップを使用して行われます。プロジェクトのプロパティを設定して、すべての静的ソース分析などをすべて Sonar サーバーに正常にプッシュできるようにしました。

私の問題は、JUnit テストの結果を残りのすべての分析と一緒にプッシュしないことです。テスト レポートの再利用に関する Sonar の指示に従いました。特に、次のプロパティを設定しました。

sonar.dynamicAnalysis=reuseReports
sonar.surefire.reportsPath=android/REDACTED-test/junit-results

ビルド出力で、結果を解析する必要がある場所を確認できます。

17:52:28.013 INFO        org.sonar.INFO - Execute Findbugs 2.0.0 done: 25446 ms
17:52:28.378 INFO  p.PhasesTimeProfiler - Sensor FindbugsSensor done: 25812 ms
17:52:28.378 INFO  p.PhasesTimeProfiler - Sensor SurefireSensor...
17:52:28.379 INFO  s.p.s.SurefireSensor - parsing /jenkins/jobs/REDACTED/workspace/android/REDACTED-test/junit-results
17:52:28.383 INFO  p.PhasesTimeProfiler - Sensor SurefireSensor done: 5 ms
17:52:28.383 INFO  p.PhasesTimeProfiler - Sensor CpdSensor...
17:52:28.384 INFO   o.s.p.cpd.CpdSensor - SonarEngine is used

ビルド マシンにログオンして、前述のディレクトリを確認しました。いくつかの JUnit XML ファイルがあることを確認しましたが、何らかの理由で、Sonar サーバーはまだゼロのテストを報告しています。SurefireSensor は 5 ミリ秒しかかかっていないため、結果ファイルを表示したり開いたりしていないことは確かですが、その理由はわかりません。誰でも助けることができますか?

4

1 に答える 1

9

ランナーは、次の形式でテスト結果名を生成します。

android.package.name-TEST.xml

emma surefireプラグインは、名前が.で始まる.xmlファイルのみを検索します"TEST-"。残念ながら、欠落しているandroid XMLテストランナーはサフィックス機能しか提供しないため"TEST-"、前面に追加して各ファイル名を手動で変更する必要があります。

于 2012-08-14T16:55:04.240 に答える