読者です 読者をやめる 読者になる 読者になる

ほげほげ(仮)

仮死状態

GuardでAndroidのテストを自動実行する

Android

※追記

JakeWharton / gradle-android-test-plugin がDEPRECATEDになってしまいました… なのでこの記事は参考にしないでください。記事自体は一応残しておきます

※さらに追記

新しく書き直しました。AndroidStudio + Robolectric + Guardによる自動実行 - ほげほげ(仮)

Guardを使ってAndroidでもテストを自動実行できるようにしてみました。

Guard自体についてはググってください。

環境

準備

実行時間があまりに遅いと意味が無いのでRobolectricで実行するようにします。

Android StudioでRobolectricを使う の設定をしておきます。(これが一番面倒ですが…)

gemインストール

guard-gradle-android-test を作ったのでインストールします。

$ gem install guard-gradle-android-test

実は初めてgemを作ったので色々不安です。

Guardfile

Guardfileを作成します。

プロジェクトのルートで

$ guard init gradle-android-test

を実行すればGuardfileができます。

一応、notificationにも対応してるつもりなのでGuardfileにnotification :growlとか書いておけば自動実行後に通知されます。通知に関してはguardのwikiとか見てください。

監視

$ guard

で監視を開始します。javaファイルに変更があって保存されたタイミングで./gradlew test -iが動くようになります。

本当はテストクラス毎に実行とかしたかったのですが、JakeWharton / gradle-android-test-plugin がサポートしてないっぽくて全部実行になっちゃいました。

まとめ

これで変更のたびにコマンドを叩く必要がなくなった。

Rubyはあんまり書かないのとgemも初めて作ったので結構あやしいかも…