2011-12-02 30 views
1

我最近一直被介绍给在编程红宝石的想法后,爱单元测试简单的单元测试。我知道在Xcode中有一个首选项'包括单元测试',所以我尝试了它。首先,它是很难找到的框架文件,其次它是一个麻烦,以单元测试添加到Foundation命令行工具。随着它的所有不同的计划和目标等实现与Objective-C的

这让我想到写一个极小的,易于包括单元测试框架,主要用于教育目的。

我的想法是,你会编写一个以测试开始的启动和清理方法和方法。然后我会写5-6断言函数。 (最喜欢的框架),然后在main(),你会这样说:

[MyAppTests test]; 

或类似的东西。然后将运行所有测试方法并记录错误或成功记录。然后我可以在未来继续发展。

我的问题是,一个将如何实现,你可以运行使用基金会,也许C标准库在Objective-C测试开始的所有方法?而对于这样的事情,最佳/最小的设计是什么?

回答

1

使用Objective-C运行时参考来了解如何获取方法名称列表。例如,您可以过滤出设置和清理方法,或仅包含以“test”开头的方法。我很确定这是SenTest框架内置的内置功能。

http://developer.apple.com/library/mac/#documentation/cocoa/Reference/ObjCRuntimeRef/Reference/reference.html

当我做经常使用的C函数像这样的我常常喜欢将它们包装在一个工具类,或者在适当的时候,一个类别。

+1

我不知道,如果SenTest的开源版本是完全相同苹果的分布,但它应该是足够接近,所以如果有人想看看它是怎么做的,代码是在这里:HTTP:// WWW .sente.ch /软件/的OCUnit /#下载 – Monolo

+0

这些都是伟大的想法,谢谢! – kmikael