什么是开始使用 OCUnit 进行 iPhone 单元测试的好教程?

Posted

技术标签:

【中文标题】什么是开始使用 OCUnit 进行 iPhone 单元测试的好教程?【英文标题】:What is a good tutorial for getting started with iPhone unit testing using OCUnit? 【发布时间】:2010-09-24 11:02:45 【问题描述】:

我试图让 OCUnit 对我的项目做任何事情,但我失败了 :-( 有什么好的教程可以让它工作吗?我发现的所有东西都说明了一些不同的东西,它们都非常复杂......

我尝试的是例如

    设置单元测试目标 将我的目标添加为依赖项 将 xxTest.m 添加到我的单元目标并编写如下测试用例:

代码:

#import <SenTestingKit/SenTestingKit.h>

@interface XTest : SenTestCase 

@end

@implementation XTest
- (void)testAuthentication 
 STFail(@"fail");

@结束

结果是,构建成功......我必须做什么才能让单元测试工作?

【问题讨论】:

【参考方案1】:

我在iTunes U 我的 iPhone 开发课程的“测试”课程视频中演示了单元测试的设置以及新的 UI 自动化界面测试工具。来自last semester's class 的“单元测试”会议视频也对此进行了详细探讨。

可以在here 找到我上学期单元测试的课程笔记。我创建了一个小示例应用程序来说明单元测试的使用,源代码可从here 下载。

我也强烈推荐 iDeveloper.tv 上的Graham Lee's course on test-driven development for Cocoa。您确实必须为这些视频付费,但它们非常值得为那里提供的材料质量付出代价。我通过观看他们学到了很多技巧。

【讨论】:

感谢您的样品 - 它们很棒! 为您的截屏视频 +1,为引用 Graham 的截屏视频为道德 +1。他们很好。【参考方案2】:

之前有人问过这个问题:What is the best way to unit test Objective-C code?

您需要的所有信息都可以在这里找到:http://developer.apple.com/tools/unittest.html

Google 为 iPhone 开发人员提供了一个有用的代码库,其中还包括一个替代测试框架。有些人比 Xcode 中包含的 OCUnit 更喜欢它:http://code.google.com/p/google-toolbox-for-mac/wiki/iPhoneUnitTesting

【讨论】:

这并不能完全回答我的问题 - 我需要一个教程如何让 OCUnit for iPhone 工作 - 它对我没有用:-( @RRZ Europe - 我建议阅读 Chris Hanson 的文章,这些文章与该问题的已接受答案相关联。它们对 Mac 和 iPhone 的单元测试提供了非常详细的介绍。 我还通过查看您的示例发现了我的问题 - 我已将目标设置为设备,然后构建将成功,当我将其设置为模拟器时,STFail 等将正确地导致测试失败!

以上是关于什么是开始使用 OCUnit 进行 iPhone 单元测试的好教程?的主要内容,如果未能解决你的问题,请参考以下文章

如何从命令行在 iPhone 上启动 OCUnit 测试

OCUnit 是不是允许在 iPhone 模拟器上运行应用程序测试?

在我的 XCode 3 上安装 OCUnit 时出现问题

OCUnit for iPhone App - 将所有 .m 文件设置为 UnitTest 目标的一部分

使用 OCUnit 进行单元测试时的 NSBundle 返回(空)

单元测试和 TDD、OCUnit 与 Google 工具箱