Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用Objective-C实现简单的单元测试_Objective C_Unit Testing_Foundation - Fatal编程技术网

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

用Objective-C实现简单的单元测试,objective-c,unit-testing,foundation,Objective C,Unit Testing,Foundation,在被介绍了Ruby编程的思想之后,我最近一直很喜欢单元测试。我知道Xcode中有一个偏好,“包含单元测试”,所以我尝试了一下。首先,很难找到框架的文档,其次,将一个单元测试添加到一个基础命令行工具中是一件麻烦事。与所有的单独计划和目标等 这让我考虑编写一个极其简单的单元测试框架,主要用于教育目的 我的想法是,您将编写一个启动和清理方法以及从测试开始的方法。然后我将编写5-6个断言函数。(与大多数框架一样)然后在main()中,您会说: [MyAppTests test]; 或者类似的东西。然后

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

这让我考虑编写一个极其简单的单元测试框架,主要用于教育目的

我的想法是,您将编写一个启动和清理方法以及从测试开始的方法。然后我将编写5-6个断言函数。(与大多数框架一样)然后在main()中,您会说:

[MyAppTests test];
或者类似的东西。然后运行所有的测试方法,并记录错误或成功。那我以后就可以在这个基础上再接再厉了


我的问题是,如何实现在基础Objy-C中使用基础测试和C标准库来运行所有方法?对于这种情况,什么是最佳/最小设计?

使用Objective-C运行时参考了解如何获取方法名列表。然后,您可以过滤掉setup和cleanup方法,或者只包含以“test”开头的方法。我很确定这就是内置的SenTest框架在内部所做的


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

使用Objective-C运行时参考了解如何获取方法名称列表。然后,您可以过滤掉setup和cleanup方法,或者只包含以“test”开头的方法。我很确定这就是内置的SenTest框架在内部所做的


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

我不知道SenTest的开源版本是否与Apple的发行版完全相同,但它应该足够接近,所以如果有人想看看它是如何实现的,代码在这里:我不知道SenTest的开源版本是否与苹果的发行版完全相同,但应该足够接近,所以如果有人想看看它是如何实现的,代码在这里: