コマンドラインから実行したテストにAndroid Studio のデバッガをアタッチする

こんにちは、山梨に来て1年が経過してそろそろ市内で引っ越しを考えている id:numanuma08 です。

今回は小ネタ的な物なのですが、AndroidアプリのUnit testをコマンドラインから実行したときにブレークポイントを使ってデバッグしたい場面がありました。こういうときは以下のコマンドを実行します。

./gradlew :app:testDevelopDebugUnitTest --debug-jvm

debug-jvmオプションを付けてテストを実行すると、デバッガのポートが開き接続待ちとなります。この状態でAndroid StudioでAttach to processを実行します。接続するプロセス一覧に上記コマンドのプロセスが表示されるので、選択します。

これでコマンドラインから実行したテストプロセスをAndroid Studioからデバッグできるようになりました。注意点としては、デバッガをアタッチした瞬間にテストコードが実行されてしまうのでブレークポイントの設置などは事前に行った状態でアタッチを行う必要がある点です。

以上、小ネタでした。