在创建新的 Objective-C测试用例类时,在XCode 4.2中选择测试类型应用程序或逻辑之间的区别是什么代码模板?
我知道应用程序和逻辑测试之间的概念差异(回答here)。我的问题是,如果XCode为每种测试类型做了不同的事情,或者如果差异纯粹是人为的在班级。
除了使用不同的代码模板之外,我能看到的唯一实际差异是默认情况下应用程序测试#import <UIKit/UIKit.h>
和逻辑测试没有。但是,我编写了使用UIKit
的逻辑测试,并且在大多数情况下它都有效(除了使用UIWebView
之类的怪物等。)
答案 0 :(得分:1)
至少它设置了一个捆绑加载器和测试主机,它是你的应用程序并在那里注入测试,允许你在应用程序的上下文中运行测试,这反过来允许你测试它的基本上所有层,包括视图和UIKit的其他组件。我认为逻辑测试只允许你测试基础对象。
在逻辑测试目标和应用程序测试目标的配置中搜索“bundle loader”和“test host”时,您可以看到值不同。
答案 1 :(得分:1)
Xcode的应用程序和逻辑测试之间的唯一区别是Xcode添加到单元测试类的实现文件中的单元测试类型。您可以在以下文章中阅读更详细的说明: