Я использую TestNG и Gradle, и я пытаюсь добиться того, чтобы в случае сбоя задачи, выполняющей тесты, была запущена другая задача, также имеющая тип test, которая фактически отправляет отчет о тестировании. Если все тесты пройдены, ничего не делайте, я знаю о finalizedBy, но он отправляет отчет об испытаниях в любом случае.
Я пробовал что-то подобное, но не повезло.
task uiTest(type: Test) {
useTestNG() {
environment "DOMAIN", "${DOMAIN}"
useDefaultListeners = true
suites "src/test/resources/ui-tests/ThemeA/chrome67.xml"
}
reports {
html {
enabled true
}
reports.html.destination = "build/reports/TestReports/uiTestThemeA"
}
testLogging {
showStandardStreams = true
exceptionFormat "full"
events = ["started", "passed", "skipped", "failed"] //, "standard_out", "standard_error"]
showExceptions = true
showStackTraces = true
}
}
task testing(dependsOn: uiTest, type: Test) {
boolean state = uiTestThemeA.state.executed
if(!state) {
println name
useTestNG() {
suites "src/test/resources/ui-tests/sendReport.xml"
}
}
}