Travis-CI で Android のテストを動かす
ちょっとした開発でも CI がしたい!というときに便利なのが Travis-CI です。 この Travis-CI を使って、 Android のテストを動かしてみましょう。
Android アプリのテストは大きく分けて、以下の 2 種類があります。
DalvikVM で動くテストを実行させるためには、実機または Android エミュレータ上でテストを動かす必要があり高コストです。ですので、今回は比較的 PC 上で動作させやすい Robolectric を使ったテストを実行したいと思います。
JVM でのテスト (Robolectric)
まず、リポジトリのトップディレクトリに .travis.yml
ファイルを作成し、以下のような内容にします。
language: java before_install: - sudo apt-get update -qq - if [ `uname -m` = x86_64 ]; then sudo apt-get install -qq --force-yes libgd2-xpm ia32-libs ia32-libs-multiarch; fi - wget http://dl.google.com/android/android-sdk_r21.1-linux.tgz - tar -zxf android-sdk_r21.1-linux.tgz - export ANDROID_HOME=`pwd`/android-sdk-linux - export PATH=${ANDROID_HOME}/tools:${ANDROID_HOME}/platform-tools:${PATH} - android update sdk --filter platform-tools,android-14 --no-ui --force
一番最後の行の android update sdk --filter platform-tools,android-14 --no-ui --force
ですが、これはあなたがビルドしたい Android アプリの minSdk の値に変更してください。 (このへんよくハマった)
あとは Travis-CI にアクセスし、 Github Auth でログイン、自分がビルドしたいプロジェクトを指定します。 その後に Github 側の Service Hook で Travis CI を設定すれば完了です。
というか、これの話は全くテストに限りませんね。 apk をビルドしたいというときにも有効だと思います。
参考 URL
DalvikVM でのテストもしたい
余裕があったら以下も試してみたい。