zoukankan      html  css  js  c++  java
  • ios专题 - OCUnit

    OCUnit是集成在Xcode开发环境的单元测试框架;OCUnit运行必须包含SenTestingKit.framework这个库

    针对需要测试的类,每个类写出自己的TestCase,独立组织一个文件。每个测试类都是继承自SenTestCase类,这里有3个重要的方法需要介绍:

    1. -(void)setUp: 每个test方法执行前调用,用于类的创建,一些变量的初始化等

    2. -(void)tearDown:每个test方法执行后调用

    3. -(void)testXXX:这个是真正运行的测试方法,命名就是不带参数,以test开始。

        这里的每个testXXX方法可以在Scheme里面看到,并可以设置是否测试这个方法

        开发者的主要工作是自己实现这些无返回值的testXXX方法,一般框架会提供大量的断言方法,如果还是觉得不够丰富,可以使用第三方的库来进行扩充,比如:OCHamcrest。

    OCUnit断言介绍:

    1.无条件失败(Unconditional Failure)

    STFail
    让测试用例失败

    STFail(failure_description, ...)
    参数
    failure_description
        指定你错误消息的格式化字符串,可以为nil
    ...
        (可选)以逗号隔开的替换到failure_description的参数列表

    2.相等测试(Equality Tests)

    STAssertEqualObjects

    当两个对象不同时,测试失败
    STAssertEqualObjects(object_1, object_2, failure_description, ...)
    参数
    object_1
        一个对象
    object_2
        一个对象

    failure_description
        指定你错误消息的格式化字符串,可以为nil
    ...
        (可选)以逗号隔开的替换到failure_description的参数列表

    说明:当 [object_1 isEqualTo:object_2] 为false时,测试失败


    STAssertEquals

    当两个值不等的时候测试失败。
    STAssertEquals(value_1, value_2, failure_description, ...)

    参数
    value_1
                    一个数值,结构体,或联合体。
    value_2
                    一个数值,结构体,或联合体。
    failure_description
                    指定你错误消息的格式化字符串,可以为nil
    ...
                    (可选)以逗号隔开的替换到failure_description的参数列表
                    
    说明:当value_1 不等于value_2的时候测试失败。



    STAssertEqualsWithAccuracy

    当两个值的差别大于给定值时,测试失败
    STAssertEqualsWithAccuracy(value_1, value_2, accuracy, failure_description, ...)

    参数
    value_1
                    一个整型或浮点值。
    value_2
                    一个整型或浮点值。
    accuracy
                    一个整型或浮点值。
    failure_description
                    指定你错误消息的格式化字符串,可以为nil
    ...
                    (可选)以逗号隔开的替换到failure_description的参数列表
    说明:当value_1和value_2之间相差大于accuracy时,测试失败。

     

    3.空值测试(Nil Tests)


    STAssertNil

    Fails the test case when a given expression is not nil.
    如果给定的表达式不是nil,测试失败。
    STAssertNil(expression, failure_description, ...)

    参数
    expression
                    要测试的表达式。
    failure_description
        指定你错误消息的格式化字符串,可以为nil
    ...
        (可选)以逗号隔开的替换到failure_description的参数列表



    STAssertNotNil

    Fails the test case when a given expression is nil.
    当表达式为nil时,测试失败。
    STAssertNotNil(expression, failure_description, ...)

    参数
    expression
                    要测试的表达式。
    failure_description
        指定你错误消息的格式化字符串,可以为nil
    ...
        (可选)以逗号隔开的替换到failure_description的参数列表

     

    4.布尔测试(Boolean Tests)


    STAssertTrue

    如果给定表达式为false,测试失败。
    STAssertTrue(expression, failure_description, ...)


    参数
    expression
                    要测试的表达式。
    failure_description
        指定你错误消息的格式化字符串,可以为nil
    ...
        (可选)以逗号隔开的替换到failure_description的参数列表


    STAssertFalse

    如果给定表达式为true,测试失败。
    STAssertFalse(expression, failure_description, ...)

    参数
    expression
                    要测试的表达式。
    failure_description
        指定你错误消息的格式化字符串,可以为nil
    ...
        (可选)以逗号隔开的替换到failure_description的参数列表

     

    5.异常测试(Exception Tests)


    STAssertThrows

    当表达式不抛异常时,测试失败
    STAssertThrows(expression, failure_description, ...)

    参数
    expression
                    要测试的表达式。
    failure_description
        指定你错误消息的格式化字符串,可以为nil
    ...
        (可选)以逗号隔开的替换到failure_description的参数列表


    STAssertThrowsSpecific

    当表达式不能抛出特定类的异常时,测试失败。
    STAssertThrowsSpecific(expression, exception_class, failure_description, ...)

    参数
    expression
                    要测试的表达式。
    exception_class
        异常类
    failure_description
        指定你错误消息的格式化字符串,可以为nil
    ...
        (可选)以逗号隔开的替换到failure_description的参数列表

    说明:当expression不会抛出exception_class的异常时,测试失败。


    STAssertThrowsSpecificNamed

    当表达式不能抛出特定类指定名称的异常时,测试失败。
    STAssertThrowsSpecificNamed(expression, exception_class, exception_name, failure_description, ...)

    参数
    expression
                    要测试的表达式。
    exception_class
        异常类
    exception_name
        异常名字的字符串
    failure_description
        指定你错误消息的格式化字符串,可以为nil
    ...
        (可选)以逗号隔开的替换到failure_description的参数列表

    说明:当expression不能抛出exception_class类中的名为exception_name的异常时,测试失败。


    STAssertNoThrow

    如果表达式抛异常,测试失败。
    STAssertNoThrow(expression, failure_description, ...)

    参数
    expression
        要测试的表达式。
    failure_description
        指定你错误消息的格式化字符串,可以为nil
    ...
        (可选)以逗号隔开的替换到failure_description的参数列表


    STAssertNoThrowSpecific

    当表达式抛出特定类的异常时,测试失败。
    STAssertNoThrowSpecific(expression, exception_class, failure_description, ...)

    参数
    expression
                    要测试的表达式。
    exception_class
        异常类
    failure_description
        指定你错误消息的格式化字符串,可以为nil
    ...
        (可选)以逗号隔开的替换到failure_description的参数列表

    说明:当expression抛出exception_class的异常时,测试失败。


    STAssertNoThrowSpecificNamed

    当表达式抛出特定类指定名称的异常时,测试失败。
    STAssertNoThrowSpecificNamed(expression, exception_class, exception_name, failure_description, ...)

    参数
    expression
                    要测试的表达式。
    exception_class
        异常类
    exception_name
        异常名字的字符串
    failure_description
        指定你错误消息的格式化字符串,可以为nil
    ...
        (可选)以逗号隔开的替换到failure_description的参数列表

    说明:当expression抛出exception_class类中的名为exception_name的异常时,测试失败。


    STAssertTrueNoThrow

    当表达式为false或者抛异常时,测试失败。
    STAssertTrueNoThrow(expression, failure_description, ...)

    参数
    expression
        要测试的表达式。
    failure_description
        指定你错误消息的格式化字符串,可以为nil
    ...
        (可选)以逗号隔开的替换到failure_description的参数列表


    STAssertFalseNoThrow

    当表达式为true或者抛异常时,测试失败。
    STAssertFalseNoThrow(expression, failure_description, ...)

    参数
    expression
        要测试的表达式。
    failure_description
        指定你错误消息的格式化字符串,可以为nil

  • 相关阅读:
    Centos 6.4 8250/16550 只生成了4个串口
    Warning: Data truncated for column 'AirPress' at row 1
    I.MX6 32G SD卡测试
    oracle创建数据库表空间
    oracle创建表空间
    SpringMvc文件下载
    怎么取消ie浏览器body与html的间隙
    Ztree手风琴效果(第三版)
    判断JS对象是否拥有某属性
    js代码判断浏览器种类IE、FF、Opera、Safari、chrome及版本
  • 原文地址:https://www.cnblogs.com/luoguoqiang1985/p/3463992.html
Copyright © 2011-2022 走看看