The project I'm working on force to me to test all the project's libraries separately. Here I have a simplification of the tasks that I've defined to test those libraries.
tasks.register('prepareStuffForLibrary_A') {}
tasks.register('prepareStuffForLibrary_B') {}
tasks.register('testLibrary_A') {
dependsOn prepareStuffForLibrary_A
finalizedBy connectedAndroidTest
}
tasks.register('testLibrary_B') {
dependsOn prepareStuffForLibrary_B
finalizedBy connectedAndroidTest
}
tasks.register('allTests') {
dependsOn testLibrary_A
dependsOn testLibrary_B
}
As you can see, for each test, some preparation tasks have to be done before to call connectedAndroidTest
. Calling the testLibrary_A
and testLibrary_B
separately works as expected. But calling allTests
behaves not exactly as I would expect. So the order of the tasks that are executed is the following:
Tasks to be executed: [task ':app:prepareStuffForLibrary_A', task ':app:testLibrary_A', task ':app:prepareStuffForLibrary_B', task ':app:testLibrary_B', task ':app:connectedAndroidTest', task ':app:allTestsDemo']
Obviously, that's not what I want to achieve. My expected execution order would be that connectedAndroidTest
is executed at the end of each test.
Do you have some advice how to do that in Gradle?
Aucun commentaire:
Enregistrer un commentaire