LoginSignup
1
1

More than 5 years have passed since last update.

productFlavorsでトリッキーなことをしてたらandroidTestが動かなくなったときの話

Last updated at Posted at 2016-04-18

にある方法で複数のproductFlavorsの組み合わせでapplicationIdを指定するようにしていたら、
androidTestが動かなくなったのでその時の対応のメモです。

Android Studioから実行するときのログ

Testing started at 16:01 ...

04/18 16:01:48: Launching ProjectlistSearchFra...
$ adb push /Users/takao/AndroidStudioProjects/app-android/android/android_fuga/build/outputs/apk/android_fuga-fuga-qa-v21-debug.apk /data/local/tmp/com.hoge.android.fuga.debug
$ adb shell pm install -r "/data/local/tmp/com.hoge.android.fuga.debug"
    pkg: /data/local/tmp/com.hoge.android.fuga.debug
Success


$ adb push /Users/takao/AndroidStudioProjects/app-android/android/android_fuga/build/outputs/apk/android_fuga-fuga-qa-v21-debug-androidTest-unaligned.apk /data/local/tmp/com.hoge.android.fuga.debug.test
$ adb shell pm install -r "/data/local/tmp/com.hoge.android.fuga.debug.test"
    pkg: /data/local/tmp/com.hoge.android.fuga.debug.test
Success


Running tests

$ adb shell am instrument -w -r   -e debug false -e class com.hoge.android.fuga.fragment.MyFragmentTest com.hoge.android.fuga.debug.test/android.support.test.runner.AndroidJUnitRunner
Client not ready yet..Test running started
Test running failed: Unable to find instrumentation info for: ComponentInfo{com.hoge.android.fuga.debug.test/android.support.test.runner.AndroidJUnitRunner}
Empty test suite.

インストールされている instrumentation を確認

$ adb shell pm list instrumentation
instrumentation:com.android.emulator.smoketests/android.support.test.runner.AndroidJUnitRunner (target=com.android.emulator.smoketests)
instrumentation:com.android.smoketest.tests/com.android.smoketest.SmokeTestRunner (target=com.android.smoketest)
instrumentation:com.example.android.apis/.app.LocalSampleInstrumentation (target=com.example.android.apis)
instrumentation:com.hoge.android.fuga.test/android.support.test.runner.AndroidJUnitRunner (target=com.hoge.android.fuga.debug)

com.hoge.android.fuga.test と com.hoge.android.fuga.debug.test で食い違ってる、、、

adb shell am instrument -w -r   -e debug false -e class com.hoge.android.fuga.fragment.MyFragmentTest com.hoge.android.fuga.test/android.support.test.runner.AndroidJUnitRunner

↑で実行すると動いた。

上の食い違いを直すには build.gradle のtestApplicationIdを指定したら直った。

参考: https://google.github.io/android-gradle-dsl/current/com.android.build.gradle.internal.dsl.ProductFlavor.html

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1