我有一个项目有多个不同的目标/方案(在编写这个问题时大约有38个),我试图让单元测试在所有不同的目标上正常工作。我让一些目标工作,并尝试将我的测试目标添加到所有不同的方案,但看起来当测试运行的每个方案,他们实际上在同一个原始目标上运行。
查看项目文件,我发现有一个与我的测试目标关联的特定主机应用程序,并且在构建设置中,Bundle Loader和Test Host指向同一个主机应用程序。
有没有办法覆盖每个方案的那些值,以针对当前方案的构建目标运行测试?或者以其他方式设置单个测试目标以跨多个构建目标运行?
答案 0 :(得分:5)
如果从命令行运行测试,或者从Jenkins等CI工具运行测试,则可以指示xcodebuild使用您提供的构建设置。一个简单的用法示例是:
xcodebuild -scheme SomeScheme test TEST_HOST=target
您可以从Xcode控制几乎(如果不是)任何构建设置,例如代码覆盖生成,构建目录,派生数据目录,代码签名身份等。
答案 1 :(得分:1)
使用Xcode服务器运行测试时,可以选择方案。
请参阅WWDC 2014继续整合谈话,了解如何设置
https://developer.apple.com/videos/play/wwdc2014-415/
它正在使用Xcode 6,但它与Xcode 7的过程非常相似
同时检查来自apple的此CI(继续集成)指南 https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/xcode_guide-continuous_integration/adopt_continuous_integration.html