前人未踏の領域へ Androidアプリ開発編

Androidアプリ開発に関する調査メモ置き場。古い記事にはアプリ以外も含まれます。

AndroidのUIテストとJavaテストを分ける。

課題

AndroidのUIテストとJavaのテストを分けて記述したい。

対応

testとandroidTestをうまく使う。それぞれがごっちゃになってるといろいろうまく行かない。

BuildValiantsを切り替える

テストの目的に応じて変更する。

  • View > Tool Windows > BuildValiants を開く
  • Test Artifact を切り替える

これを切り替えないと次のディレクトリを分ける時にコンパイルエラーになりなんのこっちゃになる。

ディレクトリを分ける。

UIテストはandroidTest配下にパッケージを切る。Javaテストはtest配下にパッケージを切る。package生成がコンテキストメニューに出てこない場合は上記のBuildValiantsを適切に切り替える。

src/androidTest/java/${package_name}
src/test/java/${package_name}
build.gradleの切り分け

testCompileはJava用。androidTestCompileはUIテスト用。

dependencies {
    testCompile 'junit:junit:4.12'
    testCompile "org.mockito:mockito-core:1.9.5"
    androidTestCompile 'com.android.support.test:testing-support-lib:0.1'
}
@RunWithアノテーションの使い分け。

AndroidJUnit4とJUnit4で使い分ける。

/* src/androidTestの場合 */
@RunWith(AndroidJUnit4.class)
public class HogeHogeTest{

/* src/testの場合 */
@RunWith(JUnit4.class)
public class HogeHogeTest{

GradleとかJUnitとかAndroid Studioとかしっかり理解してないとハマりますね。