我最近迁移了我的项目以使用AndroidX,并使用以下文档在gradle上为我的espresso测试配置了测试编排器:
https://developer.android.com/training/testing/junit-runner#using-android-test-orchestrator
我有依赖:
androidTestUtil 'androidx.test:orchestrator:1.1.0-beta01'
但是,我没有执行任何测试,看起来它们在运行gradle时失败运行以下adb shell命令,即:
adb shell 'CLASSPATH=$(pm path android.support.test.services) app_process / \
android.support.test.services.shellexecutor.ShellMain am instrument -w -e \
targetInstrumentation com.example.test/androidx.test.runner.AndroidJUnitRunner \
android.support.test.orchestrator/.AndroidTestOrchestrator'
从上面看:似乎它试图用android支持版本而不是androidx版本执行此命令。
似乎没有记录什么用于androidx。
纯粹通过猜测,我在gradle配置中更改了以下内容
从:
testOptions {
execution 'ANDROID_TEST_ORCHESTRATOR'
}
至
testOptions {
execution 'ANDROIDX_TEST_ORCHESTRATOR'
}
一切似乎都有效。
对于其他任何挣扎于Cannot convert string value 'ANDROIDX_TEST_ORCHESTRATOR' to an enum value of type 'com.android.builder.model.TestOptions$Execution' (valid case insensitive values: HOST, ANDROID_TEST_ORCHESTRATOR)
错误消息的人来说,ANDROIDX_TEST_ORCHESTRATOR
似乎与最新版本的IntelliJ(2018.3.5)不兼容,它在Android Studio(3.3.2)中运行良好。