XCode 4.2中应用程序测试和逻辑测试代码模板之间的区别

时间:2011-12-15 07:50:08

标签: objective-c xcode unit-testing uikit ocunit

在创建新的 Objective-C测试用例类时,在XCode 4.2中选择测试类型应用程序逻辑之间的区别是什么代码模板?

我知道应用程序和逻辑测试之间的概念差异(回答here)。我的问题是,如果XCode为每种测试类型做了不同的事情,或者如果差异纯粹是人为的在班级

除了使用不同的代码模板之外,我能看到的唯一实际差异是默认情况下应用程序测试#import <UIKit/UIKit.h>和逻辑测试没有。但是,我编写了使用UIKit的逻辑测试,并且在大多数情况下它都有效(除了使用UIWebView之类的怪物等。)

2 个答案:

答案 0 :(得分:1)

至少它设置了一个捆绑加载器和测试主机,它是你的应用程序并在那里注入测试,允许你在应用程序的上下文中运行测试,这反过来允许你测试它的基本上所有层,包括视图和UIKit的其他组件。我认为逻辑测试只允许你测试基础对象。

在逻辑测试目标和应用程序测试目标的配置中搜索“bundle loader”和“test host”时,您可以看到值不同。

答案 1 :(得分:1)

Xcode的应用程序和逻辑测试之间的唯一区别是Xcode添加到单元测试类的实现文件中的单元测试类型。您可以在以下文章中阅读更详细的说明:

Xcode 4.2: Application and Logic Unit Test Classes