AndroidXを使用するようにプロジェクトを最近移行し、次のドキュメントを使用して、gradleのエスプレッソテスト用にテストオーケストレーターを設定しました。
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))では問題なく動作しました。