- 公開日:2015年10月04日
記事概要
AndroidのテストフレームワークEspressoをAndroid 6.0 Marshmallow (android sdk 23)に対応させた記事です。
環境
- Android Studio 1.3.0
- OS X Yosemite
- android sdk 23(Android 6.0 Marshmallow(マシュマロ))
- Espresso1.1 → Espresso2.2.1
はじめに
Android 6.0 Marshmallow (android sdk 23)がリリースされました。
私の開発しているアプリで古いEspressoを利用しているアプリがあったので、この機会にupdateしました。
Espressoの更新
まずはgradleの設定から変更します。
以前
androidTestCompile files('libs/espresso-1.1-bundled.jar')
改修後
androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.1' androidTestCompile 'com.android.support.test:runner:0.4.1'
続けてtestInstrumentationRunnerも変更します。
以前
testInstrumentationRunner 'com.google.android.apps.common.testing.testrunner.GoogleInstrumentationTestRunner'
改修後
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
android studioの設定も同じように変更しておきましょう。
gradleでテスト実行
では、gradleでテストを実行します
android端末をgradleを実行するPCにUSBで接続します。
cd {プロジェクトフォルダ} // テスト実行 ./gradlew connectedAndroidTest
Test配下に記述したテストコードが実行されます。
エラーが出た場合はコードを書き換えます。私の場合は、以下の様な対応をしました。
import com.google.android.apps.common.testing.ui.espresso.Espresso; ↓ 削除
ui系のテストは利用していませんが、どこかに残っていたみたいです。気を取りなおして、テストを再実行。
cd {プロジェクトフォルダ} // テスト実行 ./gradlew connectedAndroidTest
うまく実行できれば、テスト結果は{プロジェクトフォルダ}build/outputs/reports/androidTests/connected/index.htmlに出力されています。
うまくいきました。
様々なアノテーションも利用可能になっているので、今後リファクタリングしていこうと思います。
まとめ
現在androidのテストツールには、
- Espresso
- AndroidJUnitRunner
- JUnit4 Rules
- EUI Automator
が用意されています。
個人的にはEspressoがオススメだと思いますが、みなさんはどうでしょうか。
技術的な負債はまめに返してきましょう。放置し過ぎると、変更不可能となります。
もちろんそれはアプリのコードだけでなく、テストコードにも当てはまります。
以上
Androidアプリ開発にオススメの本
開発にあると便利なオススメ製品
関連記事 参考サイト
0 件のコメント:
コメントを投稿