用Objective-C实现简单单元测试



我最近在《Programming Ruby》中了解到单元测试的概念后,开始喜欢上它了。我知道有一个偏好,在Xcode中包含单元测试,所以我尝试了一下。首先,很难找到框架的文档,其次,在Foundation命令行工具中添加单元测试非常麻烦。有各自的方案和目标等

这让我想到写一个非常小的和容易包含的单元测试框架,主要是为了教育目的。

我的想法是,你会写一个启动和清理方法和以test开头的方法。然后我会写5-6个断言函数。(像大多数框架一样)然后在main()中你可以这样写:

[MyAppTests test];

或者类似的东西。然后运行所有的测试方法,记录错误或成功。这样我以后就可以在此基础上发展了。

我的问题是,如何在Objective-C中使用Foundation和C标准库来运行以test开头的所有方法?什么是这种东西的最佳/最小设计?

使用Objective-C Runtime Reference查看如何获取方法名列表。然后,您可以过滤掉设置和清理方法,或者只包含以"test"开头的方法。我很确定这就是内置的SenTest框架在内部所做的。

http://developer.apple.com/library/mac/文档/可可/引用/ObjCRuntimeRef/引用/reference.html

当我经常使用像这样的C函数时,我通常更喜欢将它们包装在一个实用程序类中,或者在适当的时候,将它们包装在一个类别中。

最新更新