J'ai récemment migré mon projet pour utiliser AndroidX et j'ai configuré test orchestrator pour mes tests expresso sur gradle à l'aide des documents suivants:
https://developer.Android.com/training/testing/junit-runner#using-Android-test-orchestrator
J'ai la dépendance:
androidTestUtil 'androidx.test:orchestrator:1.1.0-beta01'
Cependant, aucun de mes tests n'est exécuté et semble échouer lors de l'exécution de gradle exécute la commande Shell adb suivante, à savoir:
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'
en regardant ce qui précède: Il semble qu'il essaie d'exécuter cette commande avec Android supporte la version par opposition à la version androidx.
Il ne semble pas être documenté où utiliser Androidx.
En devinant, j'ai changé ce qui suit dans ma configuration gradle
de:
testOptions {
execution 'Android_TEST_ORCHESTRATOR'
}
à
testOptions {
execution 'ANDROIDX_TEST_ORCHESTRATOR'
}
et tout semble fonctionner.
Pour toute autre personne aux prises avec le message d'erreur 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
semble incompatible avec la dernière version d'IntelliJ (2018.3.5), cela a bien fonctionné dans Android Studio (3.3.2).