2015年10月4日日曜日

Android開発 update Espresso on Android 6.0 Marshmallow (android sdk 23)

  • 公開日: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 件のコメント:

コメントを投稿

Related Posts Plugin for WordPress, Blogger...