自Xcode 11以来,自动测试(UITests或UITests)产生的输出文件已经变成了.xcresult (参见下面的屏幕截图)。

在Xcode 11之前,在用于构建TestSummaries.plist文件的测试文件夹中创建了一个JUnit文件。
然后在Jenkins中使用JUnit文件来:
但是现在似乎没有可用的命令行工具来解析包含:
我尝试过tests:https://github.com/xcpretty/xcpretty,但是那个只说已经执行了0次测试,而实际上执行了68次测试。
不确定这是否重要,但我使用.xctestplan和下面的xcodebuild命令
xcodebuild -scheme Debug -workspace MyApp.xcworkspace -destination 'platform=iOS Simulator,OS=12.4,name=iPhone Xs Max' test -testPlan UnitTests我还看到了随Xcode 11一起安装的命令行工具,它解决了部分难题:
$ xcrun xcresulttool --path ResultBundle.xcresult --format json > ResultBundle.json但这只会解析一层
我也看过xcparse解析,他们似乎走在正确的轨道上,比如,它解决了解析.xcresult文件、获取代码覆盖率和截图的问题,但它们不知何故没有包括.xcresult最重要的部分(对于我们的公司来说),也就是测试的结果。像47次成功,4次失败,而这些失败,那部分。
摘要:如何将.xcresult转换为JUnit文件?
:我看到苹果通过调用,包括了对.xcresult格式的详细描述:
xcrun xcresulttool formatDescription苹果这样做是为了让第三方库能够自动处理未来对.xcresult格式的更改,因此生成JUnit文件的解决方案很好,生成JUnit文件并以某种方式使用"xcrun“的解决方案更好,因为这是未来的证据:)
发布于 2020-07-08 18:12:11
我使用works工具将结果转换为JUnit格式,这对我是有效的。但我不使用testPlan。
也许我的命令,我在我的詹金斯CI中使用的帮助您进一步
xcodebuild -derivedDataPath DerivedData -scheme "<MyShema>" -destination 'platform=iOS Simulator,name=iPad Pro (9.7-inch),OS=13.5' test | /usr/local/bin/xcpretty --report junit之后,报告将保存在build/reports/junit.xml中。
编辑:
在这个站点上,我发现https://www.raywenderlich.com/2841-beginning-automated-testing-with-xcode-part-2-2是一个有趣的工具,可以转换为junit测试结果。(https://github.com/ciryon/OCUnit2JUnit)
https://stackoverflow.com/questions/61524687
复制相似问题