Swift CLI --xunit-output选项执行测试未生成XML文件问题咨询
问题原因说明
你遇到的是Swift 5.5版本工具链的已知缺陷,不是你命令使用方式有误,--xunit-output参数在Swift 5.5/Xcode 13.x版本的工具链中确实无法正常生成XML输出文件。
相关验证与解决方案
- 首先确认命令语法本身完全正确:你使用的
swift test --xunit-output results.xml是官方标准用法,在Swift 5.4及更早版本、Swift 5.6及更新版本的工具链中都可以正常生成符合xUnit规范的测试报告。 - 针对你当前的Swift 5.5.1/Xcode 13.1环境,可以使用两个替代方案生成测试报告:
- 方案一:借助xcodebuild+xcpretty生成,首先执行
gem install xcpretty安装xcpretty工具,之后执行xcodebuild test -scheme <你的包名> -destination 'platform=macOS' | xcpretty --report junit --output results.xml即可在当前目录生成报告。 - 方案二:不修改现有包配置的前提下,临时升级Swift工具链到5.6及以上版本,高版本工具链完全兼容swift-tools-version为5.5的包,也可以正常触发
--xunit-output参数的输出逻辑。
- 方案一:借助xcodebuild+xcpretty生成,首先执行
- 补充说明:你可以执行
swift test --help查看当前工具链的帮助信息,Swift 5.5版本的帮助文档中确实列出了--xunit-output选项,只是底层实现存在bug导致文件没有被实际写入。
内容的提问来源于stack exchange,提问作者jbelkins
相关产品推荐
相关产品推荐

