テスティングフレームワークEspresso導入

http://developer.android.com/intl/ja/training/testing/ui-testing/espresso-testing.html
公式通り、build.gradleに
dependencies {
androidTestCompile ‘com.android.support:support-annotations:23.0.1’
androidTestCompile ‘com.android.support.test:runner:0.4.1’
androidTestCompile ‘com.android.support.test:rules:0.4.1’
androidTestCompile ‘com.android.support.test.espresso:espresso-core:2.2.1’
// Set this dependency if you want to use Hamcrest matching
androidTestCompile ‘org.hamcrest:hamcrest-library:1.3’
}
って貼っただけだと以下のエラー。
Warning:Conflict with dependency ‘com.android.support:support-annotations’. Resolved versions for app and test app differ.
まずsupport-annotationsのバージョン合わせるために以下作業をする。
SDKManagerでSupportLibralyを最新にする(2015年12月11日時点では23.1.1)
SupportLibraly依存のバージョンを23.1.1に修正する
compileSdkVersionが現状21なので、23.1.1に修正する
次にsupport-annotationsを使っていたらbuild.gradleに以下を追記
compile (project(‘:DecologAppEditor’)) {
exclude module: ‘support-annotations’
}
バージョン関連作業完了後は以下のエラー
Warning:Conflict with dependency ‘com.google.code.findbugs:jsr305’. Resolved versions for app and test app differ.
様々なライブラリを使っているので以下のコマンドで依存関係とかを調べる
$ ./gradlew -q :app:dependencies
どうやらjsr305を使ってるぽかったので以下で対処
(直接Api内build.gradleにjsr305を読み込む記述があったわけではなく、他モジュールが使っていた)
compile(project(‘:app’)) {
exclude module: ‘jsr305’
}
蛇足ですが、上記でいけるかと思ったらcompileSdkVersionを21から23にしたため以下2つの対処をした
1. Apacheモジュールがなくなったので、使用箇所の対応
2. RecyclerViewのonTouchの仕様が変わっていたのでその対応