Jenkins和Xcode5单元测试目标 - 没有测试输出?

时间:2013-09-16 09:16:12

标签: ios xcode jenkins xcodebuild xcode5

我正在将Jenkins CI服务器从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日志中找不到该点之后的输出,但是当我在自己的机器上运行它时,我会在控制台中打印测试结果。

这里发生了什么,我怎样才能收回测试报告?

1 个答案:

答案 0 :(得分:2)

我在同一条路上。我相信如果你研究那个剧本,它会转过来调用这个剧本:

${SYSTEM_DEVELOPER_DIR}/Tools/RunUnitTests

这是用于运行单元测试的脚本。现在,在Xcode 5中,它只是告诉您删除Xcode 4自动创建的Run Script构建阶段。如果您从Xcode 5运行RunUnitTests,它只会说:

  

RunUnitTests已过时。要为目标运行单元测试,请使用   Xcode IDE中的测试方案操作和xcodebuild中的测试操作。   您可以删除调用RunUnitTests的Run Script构建阶段   来自您的单元测试包目标。

我已经完成了它所说的内容(删除了Run Script阶段)并且我仍然没有得到Jenkins下的输出,也许是因为,正如你猜测的那样,这是一个新进程,Jenkins看到第一个进程完成了,跳出来。

更新:此处有更多信息:How can I get Xcode 5 to run iOS unit tests on a Jenkins slave?