6
我的iOS项目有五个方案:本地开发,集成,质量保证,演示和生产。每种方案都使用不同的配置来控制网络轮询频率,API端点,分析等等。Xcode/iOS:单元测试,方案和配置
同样,我们有五个相应的目标:本地开发,集成,质量保证,演示和生产。每个目标有几个用户定义的生成设置,其包含API的键,定时数值等
我们的应用程序的Info.plist
文件使用应用程序变量如${SOME_ENDPOINT_URL}
在相应的用户定义的构建设置来绘制。
要检索的变量,我这样做如下:
[[[NSBundle mainBundle] infoDictionary] valueForKey:@"Some Endpoint URL"]
这将对应于用户定义的构建设置,就像这样:
"Some Endpoint URL" = ${SOME_ENDPOINT_URL}
我现在正在考虑如何正确配置项目以执行单元和逻辑测试。
要构建测试以确定环境是否配置正确,我不确定最佳实践是什么。
- 为每个环境构建五个额外的测试特定目标是否正确?
- 或者为每个方案的测试组件覆盖“Run action's arguments”设置,并提供一些参数来指定我们正在查看的方案?
- 是否有任何现有的参考用于为具有多个环境的iOS项目配置单元和逻辑测试?这个项目的复杂性似乎超出了大多数文档的范围。
苹果不断使整个目标/计划系统非向后兼容的改变 - 我认为你没有找到文档的原因是,苹果打算/希望让更多的这些打算前锋,并希望躲开他们将会得到的高射炮。有人在苹果似乎特别讨厌目标,所以我会亲自去使用“使用参数”的方法 - 目标可能会被nerfed(又:(:)。 – Adam 2013-04-05 20:07:29
而不是有这么多不同的目标,为什么不只有一个目标,以及五种配置,而不是调试和发布,你可以使用LocalDev,Integ,QA,Demo,Prod,然后你可以创建五个方案来构建相同的目标,但是具有不同的配置 – 2013-06-16 17:45:06
@JacobLukas你知道吗?我总是避免使用方案,但听起来他们真的很有用。 – DogCoffee 2013-09-16 22:44:10