きり丸の技術日記

技術・エンジニアのイベント・資格等はこちらにまとめる予定です

IntelliJ IDEAでGradleのテストが遅いときに試す(タスクランナーの変更)

小ネタ。処理が遅いと同僚が困っていたので、教えたら劇的に改善しました。

環境

スクランナーを変更する

Gradleの設定画面から、ビルド及び実行に使用(Build and run using)とテストの実行に使用(Run tests using)をデフォルトのGradleからIntelliJ IDEAに変更します。

これをするだけで、15分くらいかかっていた処理が1分弱で終わるようになる可能性があります。

f:id:nainaistar:20210323000701p:plain

その他のメリット

スクランナーがGradleだと、DisplayNameでテスト名を表示してくれないので、メソッド名を頑張って名付ける必要があります。

スクランナーがIntelliJ IDEAだと、DisplayNameが有効になるので、テストの条件等を表現しやすいです。

次の画像は、「test_02」のDisplayNameが有効かどうかが分かる画像。

スクランナー:Gradle f:id:nainaistar:20210323000715p:plain

スクランナー:IntelliJ IDEA f:id:nainaistar:20210323000728p:plain

デメリット

上手くいけば高速化できますが、悪いと原因不明のエラーでテストができなくなる可能性があります。

今回の検証中でも、変更してから「Command line is too long 」エラーが起きて動かなくなりました。

このような不明なエラーに悩まされてしまう可能性はゼロではないので、速度に不満が無ければGradleのタスクランナーを使用していた方が総合的には早くなるかもしれません。

また、CI上で実行するテストもGradleなので、ローカルとリモートの挙動の違いが起きると調査が非常につらいです。

あと、最終的によく見るメッセージはCIのメッセージなので、メソッド名をサボることによるメリットも大きいとは言えません。

終わりに

個人的には高速化が便利なのでタスクランナーをIntelliJ IDEAに変更しています。

しかし、IDEをバージョンアップしたことによって発生しうるタスクランナーのエラー等もあるので、諸手を上げてオススメすることはできません。

デフォルトのGradleタスクランナーでの処理が重すぎて耐えきれない、という人は一度こちらの設定を試してはいかがでしょうか。


この記事がお役に立ちましたら、各種SNSでのシェアや、今後も情報発信しますのでフォローよろしくお願いします。

参考記事

公式ヘルプ:Gradle でのテスト pleiades.io

Intellij IDEAのgradleプロジェクトビルド時に Command line is too long が出る場合の対処 qiita.com

f:id:nainaistar:20210323001446p:plain