美文网首页
iOS15-单元化测试

iOS15-单元化测试

作者: echo海猫 | 来源:发表于2020-04-16 21:20 被阅读0次

    iOS - 单元化测试学习记录

    将项目划成小的单元,进行测试,规范架构和编码,回归测试(测试之前的版本,为了防止耦合性的功能出现问题)codecoverage代码覆盖率 越高越好
    单元测试可降低耦合性
    何为单元:单一界面,单一功能等都称作一个小单元
    单元测试和我们有什么关系?或者说对我们工作有什么关系?
    增加测试能力
    做单元测试的成本和收获是什么:
    成本:自然要花很多时间去做测试架构的搭建,增加项目进度
    收获:提升代码质量、提升团队协作效率、提升代码的健壮性、提高项目自动化测试占比
    单元测试两大原则:互不干扰、单一变量原则

    1、逻辑测试

    什么是逻辑测试?
    逻辑测试是指对项目工程中的逻辑方法,工具等进行的Test测试。然后启动test进行方法检验,常见的方法为

    -(void)testLogic{       
            //1、建立正确的调用逻辑
        int num1 = 10;
        int num2 = 20;
        //2、使用
        int num3 = [self.vc logic:num1 num2:num2];
        //3、判断是否正确,做出异常log 
            //XCTAssertEqual(<#expression1#>,       <#expression2, ...#>)代表逻辑结果的判断,可验证是否符合预期需求结果,“...”代表可以多参数,num3为逻辑方法的返回值,30位期盼值,后面可写异常情况抛出的log信息
        XCTAssertEqual(num3, 30,@"逻辑出错,异常: ========");
    }
    

    如果逻辑代码出错,代表你的code是有问题的。需要细心检查,解决问题。

    2、性能测试

    性能测试:顾名思义就是对项目中需要进行耗时,占内存等的情况进行性能测试,已控制代码性能在我们需求范围之内,不要过度的影响用户体验,但目前苹果只开放了一个,就是XCTPerformanceMetric_WallClockTime

    - (void)testPerfomanceExampleVC{
        [self measureBlock:^{
            //performance为要测试性能的方法
            [self.vc performance];
        }];
    }
    
    - (void)testPerfomanceExample{
        [self measureMetrics:@[XCTPerformanceMetric_WallClockTime] automaticallyStartMeasuring:NO forBlock:^{
            [self.vc performance];
            
            //更精确的计算
            [self startMeasuring];
            //要测试性能的方法
            [self.vc performance];
            [self stopMeasuring];
        }];
    }
    

    具体代码和测试架构搭建,可参考AFNetworking框架的自动化测试类,后续会持续更新...

    相关文章

      网友评论

          本文标题:iOS15-单元化测试

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