浅谈iOS的单元测试方法

顾名思义,单元测试面向的对象是单元,这个专有名词源自编译器领域的术语“编译单元”。在面向过程中,指的是函数,而在面向对象中,指的通常就是“类”。因而,每个功能类都应该提供对应的单元测试。单元测试本质上说白了就是用一些断言来判定结果。测试方法有很多,OCUnit、GTM、GHUnit、CATCH、OCMock等。
以OCUnit为例:
OCUnit的测试用例最常用的方法有三个

-(void)setUp:每个test方法执行前调用
-(void)tearDown:每个test方法执行后调用
-(void)testXXX:命名为XXX的测试方法

使用OCUnit最大的好处就是流程非常的简单,简单到让你觉得非常愉悦。由于有XCode的支持,添加测试变得异常简单。只要在新建工程时勾选“Include Unit Tests”,就会自动的加入一个示例。然后在需要添加新的单元测试时,新建一个“Objective-C test case class”就可以了。

浅谈iOS的单元测试方法_第1张图片
Paste_Image.png

创建之后,会生成一个OCUnitTestTests的文件夹(注:这个文件夹的名字是你的工程名+Tests),在这里你还可以看到上面提到的三个方法已经自动为您生成好了~

浅谈iOS的单元测试方法_第2张图片
Paste_Image.png

然后在需要添加新的单元测试时,新建一个“Objective-C test case class”就可以了。


浅谈iOS的单元测试方法_第3张图片
Paste_Image.png

测试文件中,只要知道setUp是初始化的地方,tearDown是结束清理的地方,而且它们在每个用例方法执行时都会重新执行--这保证了测试用例的原子性。然后知道每个测试用例都是以test作为前缀的,并且无返回值。然后在方法中编写断言语句就可以了。输入STAssertxxxxx就可以看到它们的联想提示。编写完成后,执行菜单Product->Test,单元测试就完成了!

这里作者只是简单的描述了下大框,有兴趣的朋友可以深入了解下,作者后期还会整理出更详细的资料,敬请关注...

你可能感兴趣的:(浅谈iOS的单元测试方法)