ios - 在生成报告后,如果测试失败,如何让詹金斯构建失败?
问题描述
因此,我正在尝试了解有关 jenkins 的更多信息,并开发了一个 shell 脚本,该脚本为我的 iOS 项目执行测试并生成报告。我将脚本设置为在检测到故障后立即退出(因为这是我知道在测试失败时如何使构建失败的唯一方法)。
这就是没有生成报告的原因。因为我在测试失败后立即退出脚本。但我不熟悉如何让构建失败,而不在生成报告之前退出。我能做些什么来规避这种情况?这是我当前的 shell 脚本:
set -o pipefail && xcodebuild -project "Tests.xcodeproj"
-scheme "Testing"
-sdk "iphonesimulator12.2"
-destination "platform=iOS Simulator,OS=latest,name=iPhone 7"
test -only-testing:"UITests/UITests"
-resultBundlePath TestResults | xcpretty
xchtmlreport -r TestResults
解决方案
您可以使用
always() { //这里有一些代码 }
部分到特定阶段或管道。将报告生成放在该块中。参考https://jenkins.io/doc/book/pipeline/syntax/#post-conditions
在自由式项目中,您可以添加构建后动作
推荐阅读
- java - 从 Postgres 数据库填充 jTable
- alfresco - 如何限制日期字段以选择 Alfresco Process Servicce 中的过去日期?
- indexeddb - 如何获取所有 IDBIndex 键值(而不是对象存储主键)?
- angular - 基本的 Angular 应用程序在本地工作,不能在 heroku 上工作 - 出现 H10 崩溃错误
- excel - 如何比较两个大字典?
- java - 当我发送重定向“/”时出现“ERR_TOO_MANY_REDIRECTS”?
- node.js - node.js 将表单数据发送到另一台服务器
- jquery - Material Admin 上的这个 JS 文件有什么问题,隐藏侧边栏不起作用
- android - AsyncTask 只能执行一次
- angular - 如何在 this.formgroup.value() 上获取类型 Number 的值?