iOS 单元测试

本文介绍了单元测试的基本概念,包括常见的测试方法如逻辑测试、异步测试等,并详细解释了Xcode中各种断言的使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

最近一直像要进阶新的知识,才知道一些大厂很注重单元测试。其实我一直不明白单元测试的意义跟价格,跟我一样疑惑吗?想要屌丝逆袭成高级软件工程师吗?Follow me~ 需要帮助请按command +shift + 0

 

在测试方法中主要知道setup 是初始化的地方,teardown 是结束清理的地方。每次用例方法执行,都会执行这两个方法。每次测试用户的方法都是test开头。并且无返回值。最后在方法中使用断言进行判断,断言的使用方法是STASSert***** 。最后点击小菱形运行。大家没事也可以研究下OCMock

1.1常见的几种单元测试方法有逻辑测试+异步测试+性能测试+UI测试;基础设置如下

1.2 以下使用伪代码实现了异步测试

首选将需要测试的方法暴露出来,写测试用例的时候,需要继承XCTestCase。

1.3性能测试

 

 

单元测试主要依赖代码测试,测试期间遇到问题是使用断言处理的。以下Xcode常用的断言

 

XCTFail(format…) 生成一个失败的测试;

 

XCTAssertNil(a1, format...)为空判断,a1为空时通过,反之不通过;

 

XCTAssertNotNil(a1, format…)不为空判断,a1不为空时通过,反之不通过;

 

XCTAssert(expression, format...)当expression求值为TRUE时通过;

 

XCTAssertTrue(expression, format...)当expression求值为TRUE时通过;

 

XCTAssertFalse(expression, format...)当expression求值为False时通过;

 

XCTAssertEqualObjects(a1, a2, format...)判断相等,[a1 isEqual:a2]值为TRUE时通过,其中一个不为空时,不通过;

 

XCTAssertNotEqualObjects(a1, a2, format...)判断不等,[a1 isEqual:a2]值为False时通过,

 

XCTAssertEqual(a1, a2, format...)判断相等(当a1和a2是 C语言标量、结构体或联合体时使用,实际测试发现NSString也可以);

 

XCTAssertNotEqual(a1, a2, format...)判断不等(当a1和a2是 C语言标量、结构体或联合体时使用);

 

XCTAssertEqualWithAccuracy(a1, a2, accuracy, format...)判断相等,(double或float类型)提供一个误差范围,当在误差范围(+/-accuracy)以内相等时通过测试;

 

XCTAssertNotEqualWithAccuracy(a1, a2, accuracy, format...) 判断不等,(double或float类型)提供一个误差范围,当在误差范围以内不等时通过测试;

 

XCTAssertThrows(expression, format...)异常测试,当expression发生异常时通过;反之不通过;(很变态)

 

XCTAssertThrowsSpecific(expression, specificException, format...) 异常测试,当expression发生specificException异常时通过;反之发生其他异常或不发生异常均不通过;

 

XCTAssertThrowsSpecificNamed(expression, specificException, exception_name, format...)异常测试,当expression发生具体异常、具体异常名称的异常时通过测试,反之不通过;

 

XCTAssertNoThrow(expression, format…)异常测试,当expression没有发生异常时通过测试;

 

XCTAssertNoThrowSpecific(expression, specificException, format...)异常测试,当expression没有发生具体异常、具体异常名称的异常时通过测试,反之不通过;

 

XCTAssertNoThrowSpecificNamed(expression, specificException, exception_name, format...)异常测试,当expression没有发生具体异常、具体异常名称的异常时通过测试,反之不通过

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值