是否可以将 Jenkins 与 XCTest 一起使用?
有一个 ruby 脚本 (OCUnit2JUnit -- https://github.com/ciryon/OCUnit2JUnit ) 可以解析 OCUnit 输出并创建 Jenkins 可以解析的 XML 文件。
是否有等效的东西来处理新的 XCTest 输出?
目前,使用 Apple 的持续集成是不可能的。
是否可以将 Jenkins 与 XCTest 一起使用?
有一个 ruby 脚本 (OCUnit2JUnit -- https://github.com/ciryon/OCUnit2JUnit ) 可以解析 OCUnit 输出并创建 Jenkins 可以解析的 XML 文件。
是否有等效的东西来处理新的 XCTest 输出?
目前,使用 Apple 的持续集成是不可能的。
两种选择:
1)将您的 xcodebuild 输出通过管道传输到 xcpretty 并使用他们的 Junit 格式化程序。然后 Jenkins 可以发布它。
B) 使用 xctool 代替 xcodebuild。Xctool 内置了 Junit 报告器,您可以为测试指定。
我们两者都做了,而且它们都在 Jenkins 上运行良好。
您需要添加一个 shell 脚本构建阶段。
首先将 ocunit2junit gem 添加到构建机器:
sudo gem install ocunit2junit
然后添加构建阶段 shell 脚本,并确保在执行脚本时位于项目目录中:
xcodebuild -workspace yourWorkSpace.xcworkspace -scheme YourTestsScheme -configuration Debug clean test 2>&1 | ocunit2junit
然后确保将发布 JUnit 测试结果发布构建操作添加到配置为查找 ocunit2junit 输出的 Jenkins 作业:**/test-reports/*.xml
对我来说它不起作用。在 Projekt XCTest 的 Github 欢迎页面上也没有提到支持。所以看来这是不支持的
我编写了一个工具,可以解析 Logs/Test 文件夹中的 TestSummaries plist 文件并生成 JUnit 报告 xml 文件:( https://github.com/nacuteodor/ProcessTestSummaries )。生成的报告应该比 xcpretty 更准确。
这是我在构建机器上安装 ocunit2junit 后在 Jenkins 项目上运行的内容:
xcodebuild test -scheme <my_scheme> -configuration Debug -sdk iphonesimulator7.0 -destination OS=7.0,name="iPhone Retina (4-inch)" | ocunit2junit
然后,我添加了一个发布 JUnit 测试结果报告作为构建后操作。一开始有点不稳定(只有在没有构建后操作时才创建 xml 文件),但是在我的构建机器上直接启动构建之后,它就可以工作了。