>我有一个正在运行的Android应用程序,其清单包含此<instrumentation>
节点
<instrumentation
android:name=".MyInstrumentation"
android:targetPackage="my.package"/>
我也进行了检测测试,但是当我运行这些测试时,我得到了这个
$ adb shell am instrument -w -r-e debug false my.package.test/my.package.MyInstrumentation
Client not ready yet..
Started running tests
Test running failed: Unable to find instrumentation info for: ComponentInfo{my.package.test/my.package.MyInstrumentation}android.util.AndroidException: INSTRUMENTATION_FAILED: my.package.test/my.package.MyInstrumentation
. onError: commandError=true message=INSTRUMENTATION_FAILED: my.package.test/my.package.Instrumentation
并且不运行测试。
如果我从清单中删除检测声明,它可以正常工作,当我像这样运行测试时,我得到这个
$ adb shell am instrument -w -r -e debug false my.package.test/androidx.test.runner.AndroidJUnitRunner
Client not ready yet..
Started running tests
Tests ran to completion.
androidx.test.runner.AndroidJUnitRunner
是执行的检测。
当我从 Android Studio 运行测试以及执行 ./gradlew connectedAndroidTest
时,都会发生这种情况。
如何告诉gradle
或 Android Studio 我想使用 AndroidJUnitRunner
检测运行测试?仍然允许我自己的。
build.gradle文件中添加此行,然后尝试
android {
...
defaultConfig {
...
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
...
}
...
}