如何在Swift DangerFile中获取Bitrise iOS测试结果?
解决Bitrise中danger-swift获取iOS测试结果的问题
1. 确定Bitrise测试结果的路径
Bitrise的xcode-test@2步骤执行完成后,会自动设置BITRISE_XCRESULT_PATH环境变量,该变量的值就是生成的xcresult格式测试报告的完整路径,这也是DangerXCodeSummary插件适配的格式。
如果需要传统JUnit格式的测试报告,可在xcode-test@2步骤中配置生成,对应的路径可通过BITRISE_TEST_RESULT_DIR环境变量获取,但优先推荐使用xcresult格式。
2. 修改DangerFile读取环境变量
更新你的DangerFile代码,直接从环境变量中获取测试报告路径:
import Danger import DangerXCodeSummary import Foundation let danger = Danger() // 从Bitrise环境变量中读取xcresult路径 guard let testReportPath = ProcessInfo.processInfo.environment["BITRISE_XCRESULT_PATH"] else { fail("无法获取测试报告路径,请确认xcode-test@2步骤已正常执行") return } XCodeSummary(filePath: testReportPath).report()
3. 可选:调整xcode-test@2步骤配置
为确保生成兼容的测试报告格式,可给xcode-test@2步骤添加明确配置:
- xcode-test@2: inputs: - output_tool: xcodebuild - generate_archive: 'no' # 保留原有项目、Scheme等配置
4. 验证环境变量传递
Bitrise的环境变量会自动在步骤间传递,_add_build_result_to_pr中的danger-swift ci命令可以直接读取到BITRISE_XCRESULT_PATH,无需额外配置。
内容的提问来源于stack exchange,提问作者fish1990
相关产品推荐
相关产品推荐

