Ответ 1
Используйте свойство ignoreFailures в тестовой задаче.
apply plugin: 'java'
test {
ignoreFailures = true
}
У меня есть сборка Gradle в Jenkins с различными тестами JUnit, которые выполняются как часть сборки. Теперь, когда некоторые из тестов выходят из строя, полная сборка отмечена как неудачная - поскольку Gradle говорит, что сборка завершилась неудачно.
Как я могу убедить Gradle преуспеть в сборке, а затем Дженкинс, чтобы отметить сборку как неустойчивую? С ant это не было проблемой вообще.
Используйте свойство ignoreFailures в тестовой задаче.
apply plugin: 'java'
test {
ignoreFailures = true
}
Вы можете использовать внешние свойства для решения этой проблемы.
if (!ext.has('ignoreTestFailures')) {
ext.ignoreTestFailures = false
}
test {
ignoreFailures = project.ext.ignoreTestFailures
}
В этой настройке по умолчанию отказы будут сбой сборки. Но если вы назовете Gradle следующим образом: gradle -PignoreTestFailures=true test
, тогда сбой теста не приведет к сбою сборки. Таким образом, вы можете настроить Jenkins на игнорирование тестовых сбоев, но не выполнить сборку, когда разработчик запускает тесты вручную.
Вы можете включить это в свой основной файл build.gradle, который будет применяться ко всем проектам и всем задачам тестирования.
allprojects{
tasks.withType(Test) {
ignoreFailures=true;
}
}