Jenkins在运行Xcode单元测试时挂起



我正试图使用Jenkins运行Xcode单元测试。我可以在我的构建服务器上使用这个命令从终端运行它们,而不会出现任何问题:

xcodebuild test -scheme MyProject -destination OS=7.0,name="iPad"
CONFIGURATION_BUILD_DIR=/Users/dev/Jenkins/Home/workspace/MyProject/build

然而,当我试图将该命令添加到我的构建脚本(buildscript.sh)文件中时,它在运行单元测试时会挂起。我还尝试向Jenkins添加一个新的Xcode任务,并使用以下参数运行:

XcodeSchema文件:MyProject

配置:调试

自定义xcode构建参数:test-destination OS=7.0,name="iPad"CONFIGURATION_build_DIR=/Users/dev/Jenkins/Home/workspace/MyProject/build

它挂在调试iphone模拟器文件夹中的一个构建文件上。

** BUILD SUCCEEDED **

setenv SYSTEM_DEVELOPER_DIR /Applications/Xcode.app/Contents/Developer
.
.
.
/bin/sh -c /Users/dev/Library/Developer/Xcode/DerivedData/MyProject
-ggdmamhydtxxzadkbjuusdjmholn/Build/Intermediates/MyProject.build/Debug
-iphonesimulator/MyProjectApplicationTests.build

我查看了构建文件,它使用的环境变量设置正确。

MyProjectApplicationTest.build

#!/bin/sh
# Run the unit tests in this test bundle.
"${SYSTEM_DEVELOPER_DIR}/Tools/RunUnitTests"
# "${SYSTEM_DEVELOPER_DIR}/Tools/RunPlatformUnitTests"
# "${PROJECT_DIR}/XcodeScripts/RunPlatformUnitTests

RunUnitTests文件存在于该目录中。

我不知道詹金斯是否在运行模拟器时遇到了问题。昨天我花了一天的大部分时间在这件事上绞尽脑汁。如果有人对这个问题有任何想法,请告诉我。

我也面临同样的问题,发现jenkins用户没有正确设置为在模拟器上运行测试用例。遵循以下网站上的说明:

https://content.pivotal.io/blog/ios-ci-with-jenkins

请参阅"设置JENKINS用户"一节。

希望它对你也有用。

最新更新