J'ai une tâche gradle qui exécute une suite de tests testng. Je veux pouvoir passer un indicateur à la tâche afin d'utiliser un fichier de suite xml testng spécial (ou simplement utiliser la suite par défaut si l'indicateur n'est pas défini).
gradle test
Devrait exécuter la suite standard de tests par défaut
gradle test -Pspecial
Devrait exécuter la suite spéciale de tests
J'ai essayé quelque chose comme ça:
test {
if (special) {
test(testng_special.xml);
}
else {
test(testng_default.xml);
}
}
Mais j'obtiens une erreur de propriété non définie. Quelle est la bonne façon de procéder?
if (project.hasProperty('special'))
devrait le faire.
Notez que ce que vous faites pour sélectionner une suite de test ne fonctionnera pas, AFAIK: la tâche de test n'a pas de méthode test()
. Reportez-vous à https://discuss.gradle.org/t/how-to-run-acceptance-tests-with-testng-from-gradle/4107 pour un exemple de travail:
test {
useTestNG {
suites 'src/main/resources/testng.xml'
}
}
Cela a fonctionné pour moi:
test {
if (properties.containsKey('special')) {
test(testng_special.xml);
}
else {
test(testng_default.xml);
}
}