前回、AndroidのマルチモジュールでLint結果をDangerでコメントする という記事を書いた。今回はそれのユニットテスト版。詳しい説明は ブログ のほうに記載したので、こちらでは方法のみを記載します。
Dangerでユニットテストの結果をDangerでコメントするためには orta/danger-junit というプラグインを利用します。danger-junitでは、複数のファイルをパースする仕組みがあるのでそれを使います。
Dangerfileに設定を記述する
ユニットテストの結果ファイルが TEST-*
という名前で生成されているので、それらの相対パスの一覧をとってきて、それをdanger-junitに渡してあげる処理をDangerfileに記述します。
`find . | grep "TEST-*"`.split("\n").each do |path|
junit.parse(path)
junit.report
end
これでユニットテストの結果をまとめてコメントしてくれるようになります。
おまけ
ユニットテストの実行はBuildVariantを指定してあげることができます。例えば DevelopmentDebug
というBuildVariantで実行した場合は ./gradlew testDevelopmentDebugUnitTest
と実行してあげることで ./app/build/test-results/testDevelopmentDebugUnitTest/TEST-hogehoge.xml
みたいなファイルが出力されます。
そこでプロジェクトのルートに移動し find . | grep "TEST-*"
を実行してあげると以下のように出力されます。
❯❯❯❯ find . | grep "TEST-*"
./app/build/test-results/testDevelopmentDebugUnitTest/TEST-hogehoge.xml
./modules/piyo/build/test-results/testDevelopmentDebugUnitTest/TEST-piyopiyo.xml
./modules/makun/build/test-results/testDevelopmentDebugUnitTest/TEST-makunmakun.xml
今回は、これを利用してマルチモジュールのユニットテストの結果を集めてきました。