【发布时间】:2014-03-28 02:02:20
【问题描述】:
我正在尝试使用 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 文件:我的项目
配置:调试
自定义 xcode 构建参数:test -destination OS=7.0,name="iPad" CONFIGURATION_BUILD_DIR=/Users/dev/Jenkins/Home/workspace/MyProject/build
它挂在 debug-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 是否在运行模拟器时遇到问题。我昨天大部分时间都在为此绞尽脑汁。如果有人对问题可能有任何想法,请告诉我。
【问题讨论】:
-
对不起,我无法回答您的问题。但是当我为 iOS 建立一个 jenkins CI 系统时,我花了好几天的时间和几天的时间头疼。如果可以的话,我建议您切换到 XCode 机器人 - 而不是几天的设置,当我进行切换时只花了一个小时。
-
你发现了吗,我也遇到了同样的问题
-
@Essenceofchicken 什么是“XCode 机器人”?
-
@stonedauwg Xcode 的自动化 CI 构建系统作业。 developer.apple.com/library/content/documentation/IDEs/…
标签: ios xcode unit-testing jenkins