相关疑难解决方法(0)

Xcode中的单元测试,是否运行应用程序?

我遇到了一个我之前没遇到的奇怪问题.

当您执行cmd + U运行单元测试(例如OCUnit)时,它是否实际调用main.m,新建appDelegate并运行应用程序,就像您按下了cmd + R一样?

我只是问,因为我在这个DataLayer后面使用CoreData.我在我的测试中成功地模拟了DataLayer,但是一旦我实现了一个实际调用CoreData的getAll方法,app/xcode抛出一个关于托管对象模型的异常不能为零.我明白这一点,但我并不是想要实际创建DataLayer类,我在mainviewcontroller loadView方法中设置了一个断点,它调用了DataLayer getAll方法.它与测试无关,因为它是一个模拟对象,但它显然是在调用真实实例.

所以回到我的问题,当按下cmd + U时,它还运行应用程序然后运行测试?

iphone xcode unit-testing ios

45
推荐指数
4
解决办法
9692
查看次数

Xcode项目如何以编程方式检测目标或如何使用env变量

我想做一个应用程序测试,解析一些json,存储到核心数据,并读出一些对象.

我的代码如何知道它是作为测试或正常运行的一部分运行的?只是某种方式知道"我们是否在测试目标中"?因为应用程序启动它现在启动了一堆请求,用服务器中的信息填充我的coredata.我不希望它在我的测试中这样做.我想启动应用程序,从文件中读取HARDCODED json并使用与coredata相同的方法存储它,并验证结果.

如果有人可以解释如何在每个目标的基础上传递特定的键值对,可以从应用程序中读取,我会更高兴.

configuration integration-testing objective-c xcode4

29
推荐指数
4
解决办法
2万
查看次数