我正在将Jenkins服务器从XCode 4.6升级到XCode 5和iOS SDK 7。
要运行单元测试,我现在必须使用xcodebuild test。我正在将此命令的输出传递给Ruby脚本,该脚本生成测试报告。
升级后,此功能不再工作。我认为问题在于xcodebuild test启动了一个新的进程来实际运行测试。我日志中的最后一条语句是
/bin/sh -c /Volumes/Data/Jenkins/jobs/MyProject-Unit/workspace/Build/Intermediates/Redacted.build/Debug-iphonesimulator/UnitTests.build/Script-261C7EA912FD9A4B00F7A53E.sh在这一点之后的输出无法在Jenkins日志中找到,但是当我在自己的机器上运行它时,我会得到控制台中的测试结果。
这里发生了什么,我怎样才能拿回测试报告?
发布于 2013-09-28 00:16:16
我也在同一条路上。我相信,如果你看一下这个剧本,它就会转过来叫这个剧本:
${SYSTEM_DEVELOPER_DIR}/Tools/RunUnitTests
这是用来运行单元测试的脚本。现在,在Xcode 5中,它只告诉您删除Xcode 4自动创建的运行脚本构建阶段。如果您从Xcode 5运行RunUnitTests,它只会说:
RunUnitTests已经过时了。若要为目标运行单元测试,请在Xcode IDE中使用测试方案操作,在xcodebuild中使用测试操作。您可以从单元测试包目标中删除调用RunUnitTests的运行脚本构建阶段。
我已经按它说的做了(删除了运行脚本阶段),在Jenkins下我仍然没有输出,也许是因为,正如您猜测的那样,这是一个新的过程,Jenkins看到第一个过程完成,然后跳出。
更新:更多信息在这里:How can I get Xcode 5 to run iOS unit tests on a Jenkins slave?
https://stackoverflow.com/questions/18824362
复制相似问题