码迷,mamicode.com
首页 > 移动开发 > 详细

iOS TDD

时间:2016-07-17 11:35:03      阅读:248      评论:0      收藏:0      [点我收藏+]

标签:

      最近阅读了一本涉及到单元测试和重构知识的书--《驯服烂代码》。这本书中讲到了什么是烂代码,在编程过程中怎样避免产出烂代码,更重要的是可以尽量避免写bug,代码写的漂亮对日后的维护工作影响很大。记得自己第一次写项目的时候,满满地输出bug,而且那会还不懂得如何优化代码,后果就是那会每增加一些需求或改变一些需求,都是硬直头皮无止的加班。题外话,幸好持续时间不算长。

  接下来我总结一下通过这本书习得的一些技巧:

        part1.关于测试用例驱动开发的好处。

        part2.关于重构,在第十三章到第十五章当中提及到。

      1.没有自动化测试的代码重构就是“裸奔”。

      2.步骤:(1)消除重复和命名不规则的代码。

              (2)将同类型的变量抽取出一个新的类。

          (3)消除魔法数,尽可能使用变量名。优化多层嵌套的if-else语句,通过return提高代码可读性。消除判断语句中条件不易读的问题。

    part3.编写单元测试的过程和处理依赖关系。

        1.单元测试过程:先写测试的Assert部分的意图代码,然后再推导出Action和Arrange部分的测试意图代码,并通过修复意图代码的编译和测试运行错误,来驱动出生产代码。

      2.处理依赖关系过程涉及到的一些名词概念:

          (1)被测系统(System Under Test,简称SUT)

          (2)依赖组件(Depended On Component,简称DOC)与之等价的测试替身(Test Double),Stub和Mock都属于测试替身。前面所说的与之等价,是指同样被被测试系统所依赖作用,但是测试替身比依赖组件所被被测系统的依赖程度更低。通常会将测试替身定义为接口或者定义为父类当接口使用。

          (3)Stub和Mock都是测试替身,那么Stub和Mock的区别在于,Stub控制输入,管理各种测试用到的情况。Mock除了控制输入还控制了输出,验证结果。

  最后附上xcode上如何使用单元测试:

    http://www.cocoachina.com/ios/20140715/9144.html

    http://www.cocoachina.com/ios/20140715/9145.html

iOS TDD

标签:

原文地址:http://www.cnblogs.com/huen/p/5649434.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!