Help us understand the problem. What is going on with this article?

Androidのマルチモジュールでユニットテスト結果をDangerでコメントする

More than 1 year has passed since last update.

前回、AndroidのマルチモジュールでLint結果をDangerでコメントする という記事を書いた。今回はそれのユニットテスト版。詳しい説明は ブログ のほうに記載したので、こちらでは方法のみを記載します。

Dangerでユニットテストの結果をDangerでコメントするためには orta/danger-junit というプラグインを利用します。danger-junitでは、複数のファイルをパースする仕組みがあるのでそれを使います。

Dangerfileに設定を記述する

ユニットテストの結果ファイルが TEST-* という名前で生成されているので、それらの相対パスの一覧をとってきて、それをdanger-junitに渡してあげる処理をDangerfileに記述します。

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

今回は、これを利用してマルチモジュールのユニットテストの結果を集めてきました。

m4kvn
戦う女の子とハシビロコウが好きな渋谷のエンジニア。 最近はAndroidアプリ開発とエンジニアの採用がメイン。
https://m4kvn.hatenablog.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away