Jez*_*ble 28 tdd xcode objective-c ocunit ios-simulator
我想在不启动模拟器的情况下使用OCUnit在Xcode 4中运行测试.请不要试图说服我,我正在进行单元测试错误或类似的事情.我喜欢用传统方式做TDD:在测试中为类编写API,然后让类通过测试.我将编写在模拟器中运行的端到端的单独测试.
如果没有办法做到这一点,那么请有人告诉我如何让测试工具不实例化整个应用程序?我的应用程序是事件驱动的,当它启动我的测试时,它会发送一堆事件.
Jon*_*eid 28
请有人告诉我如何让测试工具不实例化整个应用程序?我的应用程序是事件驱动的,当它启动我的测试时,它会发送一堆事件.
我使用Xcode 4的内置测试.应用实例化可能看起来很痛苦,但正如我在Xcode单元测试中写的:好,坏,丑,它使得编写测试成为可能,而无需区分逻辑测试和应用测试.具体来说,它允许我为视图控制器编写单元测试.
这是我为避免完整的启动顺序而采取的措施:
编辑方案
runningTests
为YES
编辑您的应用代表
-application:didFinishLaunchingWithOptions:
一旦有意义添加以下内容:
#if DEBUG
if (getenv("runningTests"))
return YES;
#endif
Run Code Online (Sandbox Code Playgroud)做同样的事,-applicationDidBecomeActive:
但简单return
.
更新:我改变了我的方法.请参阅如何轻松切换应用程序代表以进行测试.
在最后的xcode版本(5.0.2)中,您可以非常简单地完成此操作.选择您的测试目标,"常规"选项卡.在"目标"字段中设置"无".然后点击"构建阶段"选项卡,从"目标依赖项"中删除主目标.
归档时间: |
|
查看次数: |
8480 次 |
最近记录: |