我有一个有多个不同目标/方案的项目(在写这个问题时,其中大约有38个),我正试图让单元测试在所有不同的目标上正常工作。我使用了一个目标,并尝试将我的测试目标添加到所有不同的方案中,但看起来当每个方案的测试运行时,它们实际上是在相同的原始目标上运行的。
在项目文件中,我发现有一个特定的主机应用程序与我的测试目标相关联,并且在构建设置中,Bundle Loader和Test指向同一个主机应用程序。
是否有任何方法为每个方案覆盖这些值,以针对当前方案的构建目标运行测试?还是设置单个测试目标以跨多个构建目标运行的其他方法?
发布于 2016-01-05 14:56:41
如果您从命令行或CI工具(如Jenkins )运行测试,您可以指示xcodebuild构建使用您提供的构建设置。一个简单的用法示例是:
xcodebuild -scheme SomeScheme test TEST_HOST=target
您可以从Xcode控制几乎(如果没有)构建设置,例如代码覆盖率生成、生成目录、派生数据目录、代码符号标识等。
发布于 2016-01-04 20:21:07
在使用Xcode服务器运行测试时,可以选择该方案。
看看WWDC 2014继续进行整合演讲,让我们了解一下如何设置它。
https://developer.apple.com/videos/play/wwdc2014-415/
它使用的是Xcode 6,但它与Xcode 7非常相似
还请查看来自苹果integration.html的CI(持续集成)指南。
发布于 2022-03-09 05:24:52
如果有人想知道如何使用UI测试(也许它也在处理单元测试),我想出了以下内容:
xcodebuild -scheme "<appSchemeName>" build -destination "<yourDestination>"
关于目标参数的更多信息:https://mokacoding.com/blog/xcodebuild-destination-options/
xcodebuild -scheme "<uiTestsSchemeName>" -destination "<yourDestination>" test TEST_TARGET_NAME="<yourNewlyBuiltAppTargetName>"
目的地应该匹配,因为在生成.app
之后,在DerivedData文件夹中生成了DerivedData,它将用于托管应用程序的用户界面测试。
https://stackoverflow.com/questions/34538496
复制相似问题