![](/img/trans.png)
[英]How to mark build as failed if JS tests fail and mark build as UNSTABLE
[英]Mark Gradle build unstable in Jenkins when JUnit tests fail
我在Jenkins中使用了各種JUnit測試的Gradle構建,這些測試作為構建的一部分執行。 現在,當某些測試失敗時,整個構建被標記為失敗 - 因為Gradle說構建失敗了。
我怎樣才能說服Gradle成功構建,然后Jenkins將構建標記為不穩定? 用螞蟻這根本不是問題。
apply plugin: 'java'
test {
ignoreFailures = true
}
您可以使用外部屬性來解決此問題。
if (!ext.has('ignoreTestFailures')) {
ext.ignoreTestFailures = false
}
test {
ignoreFailures = project.ext.ignoreTestFailures
}
在此設置中,默認情況下,失敗將導致構建失敗。 但是如果你像這樣調用Gradle: gradle -PignoreTestFailures=true test
那么測試失敗不會使構建失敗。 因此,您可以將Jenkins配置為忽略測試失敗,但在開發人員手動運行測試時使構建失敗。
您可以將其包含在main build.gradle中,以應用於所有項目和所有測試任務。
allprojects{
tasks.withType(Test) {
ignoreFailures=true;
}
}
由於在我的情況下無法使用忽略失敗的測試,因此我發現了以下內容。 如果您使用的是腳本化的jenkins文件。 可以將測試階段包裝在try-catch語句中。
try {
stage('test') {
sh './gradlew test'
}
} catch (e) {
echo "Test FAILED"
}
這將捕獲gradle拋出的構建異常,但它將構建標記為不穩定。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.