我有一个具有单元测试和集成测试的应用程序。在Jenkins内部,只有单元测试被调用,如果其中任何一个失败,构建也会失败。集成测试之所以没有被调用是因为它们中的一些依赖于外部服务器,这些外部服务器在新构建时可能会脱机,从而使构建失败。是否可以在Jenkins上运行这些测试而不会导致构建失败?如果是这样,我应该如何配置它?
只需说明一下,预期的行为是:
答案 0 :(得分:1)
如果您使用管道,则可以使用try-catch
块:
node {
stage('Unit') {
// run unit tests
}
stage('Integration') {
try {
// run integration tests
} catch (e) {
// ignore
} finally {
// archive test results
}
}
}
答案 1 :(得分:0)
一种非常简单的方法是在依赖外部服务器的测试末尾添加“ exit 0”。
例如,您可以使用unix shell脚本编写:
#!/ bin / bash
#如果远程检查失败,则以rc = 0退出
./ my_remote_server_check1 ||退出0