浅谈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”就可以了。

Paste_Image.png

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

Paste_Image.png

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


Paste_Image.png

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,026评论 19 139
  • 前言 作为一名无所事事的公司蛀虫,总是想在平静的日子里搞出点事情。于是我发现,公司的网络层作为基础库竟然没有单元测...
    Maru阅读 5,374评论 3 15
  • 简介 测试目的:模拟多种可能性,减少错误,增强健壮性,提高稳定性。 测试种类:在iOS中的通常分为单元测试和UI测...
    i顺颂时宜阅读 9,188评论 0 39
  • 前言 如果有测试大佬发现内容不对,欢迎指正,我会及时修改。 大多数的iOS App(没有持续集成)迭代流程是这样的...
    默默_David阅读 1,705评论 0 4
  • 你是否是 终要离开的人 在清晨午后月落黄昏 孤烟吞没大地 摇曳的影子在云头浮沉 旧时的花儿 静看流年凋敝 时光的刻...
    孤独又灿烂的神i阅读 129评论 0 1