单元测试运行时App不会打开

时间:2011-11-17 20:52:47

标签: objective-c ios ios5

我之前使用xcode 4的内置框架编写了单元测试,当我运行它们时,默认情况下该过程似乎是应用程序启动然后运行测试。

我已经转移到一个已经有大量单元测试的项目,我最近添加了一些我自己的。在我的单元测试中,我在[UIApplication sharedInstance]中调用了几个东西。所有这些测试都失败了,因为在这个项目中由于某种原因,应用程序没有首先打开,因此UIApplication sharedInstance返回nil。

我假设这是因为默认行为是让应用程序打开,所以必须有一个选项可以关闭它。我一直在计划编辑器中闲逛几分钟,并且无法获得任何使应用程序运行的东西。我已经尝试点击unittest方案的构建选项卡下的“运行”复选框,但没有成功。

编辑:所以在将新项目与此项目进行比较时,我注意到在Build Settings - >下单元测试 - >测试主机定义了$(BUNDLE_LOADER)。我尝试将它分配给新项目,当我完成它时它就会神奇地消失。没有任何错误或解释。

1 个答案:

答案 0 :(得分:0)

我有一些奇怪的习惯,花费大量时间试图找出解决方案,放弃并在SO上发布,然后在几分钟后找到解决方案。

问题是我的应用程序正在运行逻辑测试,需要运行应用程序测试。苹果文档是关于这个主题的一个小草图,但SO上的其他人写了一个非常好的解决方案:

how to implement application tests in xcode4?