小ネタ。処理が遅いと同僚が困っていたので、教えたら劇的に改善しました。
環境
- IntelliJ IDEA Ultimate
- 2020.3
タスクランナーを変更する
Gradleの設定画面から、ビルド及び実行に使用(Build and run using)とテストの実行に使用(Run tests using)をデフォルトのGradleからIntelliJ IDEAに変更します。
これをするだけで、15分くらいかかっていた処理が1分弱で終わるようになる可能性があります。
その他のメリット
タスクランナーがGradleだと、DisplayNameでテスト名を表示してくれないので、メソッド名を頑張って名付ける必要があります。
タスクランナーがIntelliJ IDEAだと、DisplayNameが有効になるので、テストの条件等を表現しやすいです。
次の画像は、「test_02」のDisplayNameが有効かどうかが分かる画像。
タスクランナー:Gradle
デメリット
上手くいけば高速化できますが、悪いと原因不明のエラーでテストができなくなる可能性があります。
今回の検証中でも、変更してから「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