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

时间:2011-12-02 18:16:48

标签: objective-c unit-testing foundation

在介绍Ruby编程的想法之后,我最近一直很喜欢单元测试。我知道在Xcode中有一个偏好“包含单元测试”,所以我试了一下。首先,很难找到框架的文档,其次,将单元测试添加到Foundation命令行工具是一件麻烦事。所有这些都是单独的计划和目标等。

这让我想到编写一个极其简单且易于包含的单元测试框架,主要用于教育目的。

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

[MyAppTests test];

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

我的问题是,如何使用Foundation和C标准库来实现您可以在Objective-C中以test开始运行所有方法?对于这样的事情,什么是最佳/最小设计?

1 个答案:

答案 0 :(得分:1)

使用Objective-C运行时参考来查看如何获取方法名称列表。然后,您可以过滤掉设置和清理方法,或者仅包括以“test”开头的方法。我很确定这就是内置的SenTest框架在内部的作用。

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

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