我有一个工作区,其中包含很少的项目,必须构建为静态库,并且我有针对它们的测试方案。我想配置TeamCity来构建和测试每个库,但它不适用于以下错误:
...
/Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -workspace code/MyApplication/My Framework.xcworkspace -scheme One Of Tests TEST_AFTER_BUILD=YES clean build -configuration Debug -sdk iphonesimulator6.1
in directory: /Users/Me/TeamCity/buildAgent/work/d0f083d874fc6891
Build settings from command line:
SDKROOT = iphonesimulator6.1
TEST_AFTER_BUILD = YES
xcodebuild: error: Failed to build workspace My Framework with scheme One Of Tests.
Reason: Scheme "One Of Tests" is not configured for running.
Process exited with code 70
...
但是在同一时刻,当我克隆我的存储库时,cd进入它并在终端中从上面运行命令:
/Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -workspace code/MyApplication/My Framework.xcworkspace -scheme One Of Tests TEST_AFTER_BUILD=YES clean build -configuration Debug -sdk iphonesimulator6.1
成功:// 更新:它仅适用于构建方案,而不适用于测试
** BUILD SUCCEEDED **
所以这在TeamCity中肯定是错误的设置。我可以尝试使它有效吗?
P.S。构建库的方案运行良好。只有测试会抛出错误。
答案 0 :(得分:6)
我找到了解决方案。问题是使用xcodebuild命令支持SenTestKit。为了使它工作,我不得不去编辑方案菜单并设置运行步骤,以便测试方案变得可运行。
感谢您提供解决方案this article。实际上几乎没有什么不同,它是一个Test After Build设置和宏。在我的情况下,它仅使用YES选项运行测试,我不必编写任何宏。他们修复了文章中描述的问题。