美文网首页
iOS 单元测试

iOS 单元测试

作者: 糊涂_hutu | 来源:发表于2016-09-08 15:50 被阅读0次

    作为一位程序员,如果可以对自己的代码进行单元测试那将是极好的,懂测试的程序员才是思维严谨的工程师。苹果的xcode自带单元测试功能,废话少说,直奔主题。

    创建单元测试模块

    如果创建时没有勾选该如何补救呢,哈哈,请往下看

    可以在导航中选择 File->New->Target->选择iOS-test->选择iOS Unit Testing Bundle 新建一个测试target

    好了,创建好单元测试模块,我们现在去看看

    哎哟,多了单元测试模块哦,现在我们看到单元测试里面有 setUp 方法,跟 tearDown 方法,看看它们的作用吧。

    //每次测试前调用,可以在测试之前创建在test case方法中需要用到的一些对象等

    - (void)setUp ;

    //每次测试结束时调用tearDown方法

    - (void)tearDown ;

    //性能测试方法,通过测试block中方法执行的时间,比对设定的标准值和偏差觉得是否可以通过测试

    - (void)testPerformanceExample

    [self measureBlock:^{

    // Put the code you want to measure the time of here.

    }];

    如何判断单元测试是否通过了呢,那就是要用断言了

    断言

    //通用断言

    XCTAssert(expression, format...)

    //常用断言:

    XCTAssertTrue(expression, format...)

    XCTAssertFalse(expression, format...)

    XCTAssertEqual(expression1, expression2, format...)

    XCTAssertNotEqual(expression1, expression2, format...)

    XCTAssertEqualWithAccuracy(expression1, expression2, accuracy, format...)

    XCTAssertNotEqualWithAccuracy(expression1, expression2, accuracy, format...)

    XCTAssertNil(expression, format...)

    XCTAssertNotNil(expression, format...)

    XCTFail(format...) //直接Fail的断言

    举个例子吧

    - (void)testExample {

    //设置变量和设置预期值

    NSUInteger a = 10;

    NSUInteger b = 15;

    NSUInteger expected = 24;

    //执行方法得到实际值

    NSUInteger actual = [self add:a b:b];

    //断言判定实际值和预期是否符合

    XCTAssertEqual(expected, actual,@"add方法错误!");

    }

    -(NSUInteger)add:(NSUInteger)a b:(NSUInteger)b{

    return a+b;

    }

    相关文章

      网友评论

          本文标题:iOS 单元测试

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