| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 开发测试 -> ios单元测试实践 -> 正文阅读 |
|
[开发测试]ios单元测试实践 |
单元测试作为测试开发同学必须掌握的一门技能,在测试中很受重视,因为本人在做测试之前做过ios开发,于是就拿出之前的项目代码进行了练习,希望通过我的这篇文章,小哥哥小姐姐能对ios单元测试有个基本了解,会写基本的ios单元测试代码。 单元测试的定义是对可以测试的最小单元进行测试,这里的最小单元可以是一个函数代码块,可以是一个UI操作。我们就拿函数代码块来举例说明。测函数代码块,也可以理解为测试研发自己写的函数方法,说白了就是通过调用这个方法,看调用完的结果是否是这个方法本身该实现的功能, 你比如研发同学经常会封装一些工具类,如果我们对这些工具类方法进行单元测试,加入a方法,方法是-(BOOL)isLegalTelephoneNumber(NSString *)str{},我们可以看到这个方法的入参是字符串,返回是布尔值,它的功能是判断一个字符串是否是合法的手机号,那我们测试的思路就是把一个字符串(15000000001)作为参数传到a方法,调用一下,然后我们的断言就是如果调用方法后返回true,就断言成功,返回false,断言失败。 我们来看一个我们项目里的例子。 下面的代码是研发自己写的一个方法 - (NSString *)getAreaStr:(STPickerViewSelectedModel *)model { ? ? NSString *areaName = [NSString stringWithFormat:@"? ? %@",model.ProvinceName]; ? ? if (!kStringIsEmpty(model.CityName)) { ? ? ? ? areaName = [NSString stringWithFormat:@"? ? %@ %@",model.ProvinceName,model.CityName]; ?? ? ? ? ? ? } ? ? if (!kStringIsEmpty(model.AreaName) ){ ? ? ? ? areaName = [NSString stringWithFormat:@"? ? %@ %@ %@",model.ProvinceName,model.CityName,model.AreaName]; ?? ? ? ? ? ? } ? ? return areaName; } 我们可以看出上面的方法入参是STPickerViewSelectedModel类型(自定义的)一个model类型的数据,返回值是字符串,功能是给它传一个STPickerViewSelectedModel类型的数据,它给你返回地区字符串,我们就测我给你一个STPickerViewSelectedModel类型的数据,你能否给我返回地区字符串。 这个方法的单元测试的代码如下: 方法名字就是getAreaStr这个方法能否给我返回地区字符串 -(void)testPickerFontViewCallgetAreaStrIsreturnAreaStr{ //初始化数据 ? ? STPickerViewSelectedModel * model = [[STPickerViewSelectedModel alloc]init]; ? ? //mock数据 ? ? model.ProvinceName = @"山东省"; ? ? model.CityName = @"济南市"; ? ? //声明方法 ? ? SEL getAreaStr = NSSelectorFromString(@"getAreaStr:"); ? ? //调用方法 ? ? NSString * areaName = ((NSString * (*) (id,SEL,STPickerViewSelectedModel *))objc_msgSend)(self.pickerFrontView,getAreaStr,model); ? ? //断言 ? ? BOOL isSuccess = [areaName isEqualToString:@"? ? 山东省 济南市"] ? YES : NO; ? ? assertTrue(isSuccess); } ? |
|
开发测试 最新文章 |
pytest系列——allure之生成测试报告(Wind |
某大厂软件测试岗一面笔试题+二面问答题面试 |
iperf 学习笔记 |
关于Python中使用selenium八大定位方法 |
【软件测试】为什么提升不了?8年测试总结再 |
软件测试复习 |
PHP笔记-Smarty模板引擎的使用 |
C++Test使用入门 |
【Java】单元测试 |
Net core 3.x 获取客户端地址 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年3日历 | -2025/3/1 0:27:33- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |