美文网首页
iOS单元测试相关框架介绍

iOS单元测试相关框架介绍

作者: 沈枫_ShenF | 来源:发表于2021-06-29 16:24 被阅读0次

    1 TDD

    TDD是测试驱动开发(Test-Driven Development)的英文简称,是敏捷开发中的一项核心实践和技术,也是一种设计方法论。

    原理:是在开发功能代码之前,先编写单元测试用例代码,测试代码确定需要编写什么产品代码。

    优点:在任意一个开发节点都可以拿出一个使用,含少量bug并具一定功能和能够发布的产品。

    缺点:增加代码量。测试代码是系统代码的两倍或更多,但是同时节省了调试程序及挑错时间。

    理念:确保所有的需求都能被照顾到,在代码不断增加和重构的过程中,可以检查所有的功能是否正确。

    2 第三方测试框架

    1、Quick 和 Nimble

    GitHub地址:https://github.com/Quick/Quick

    Quick 是一个针对于Swift和Objective-C的行为驱动开发框架. 它的灵感来自于 RSpec, Specta, 和 Ginkgo.

    Nimble 是一个同时适用于Swift和Objective-C语言的匹配框架.

    换句话说,Quick是一个用于创建BDD测试的框架。配合Nimbl,可以为你创建更符合预期目标的测试。

    项目中使用
    使用CocoaPods安装 Quick 和 Nimble

    2、ocMock

    官网地址 http://ocmock.org

    OCMock是一个用于为iOS或Mac OS X项目配置Mock测试的开源项目。

    其实现思想就是根据要mock的对象的class来创建一个对应的对象,并且设置好该对象的属性和调用预定方法后的动作(例如返回一个值,调用代码块,发送消息等等),然后将其记录到一个数组中,接下来开发者主动调用该方法,最后做一个verify(验证),从而判断该方法是否被调用,或者调用过程中是否抛出异常等。

    其实就是可以把它当做我们伪造的一个对象,我们给它一些预设的值之类的,然后就可以进行对应的验证了。

    到OCMock的官网(http://ocmock.org/download/) 下载dmg文件,打开后里面有个iOS library文件夹。把iOS library里的文件加入到你的项目里,按这篇教程( http://ocmock.org/ios/ ) 来进行配置。

    也可以直接使用CocoaPods安装

    3、OHHTTPStubs

    GitHub地址:https://github.com/AliSoftware/OHHTTPStubs

    OHHTTPStubs是一个很好的可以加速测试和开发的工具。OHHTTPStubs可使用伪造的网络数据和模拟的缓慢网络来测试你的应用程序,从而检测你的应用程序在不佳的网络环境中的行为,并使用伪造的网络数据编写单元测试。

    它可与NSURLConnection,NSURLSession,AFNetworking,Alamofire或者任意使用 Cocoa URL Loading 系统的任何网络框架一起使用。

    OHHTTPStubsResponse可以指定为文件,图片,data数据,或者json对象。比较灵活

    CocoaPods导入框架
    OC 导入 pod 'OHHTTPStubs'
    swift 导入 pod 'OHHTTPStubs/Swift'

    4、Cuckoo

    GitHub地址:https://github.com/Brightify/Cuckoo
    Cuckoo需要用脚本预先生成Mock类,自动从产品代码生成测试所需的模拟并支持测试。它受Android Mockito的影响,并且看来编写测试的方式是相似的。

    CocoaPods安装
    pod "Cuckoo"

    相关文章

      网友评论

          本文标题:iOS单元测试相关框架介绍

          本文链接:https://www.haomeiwen.com/subject/tbnczctx.html