那么,我该若何为这个函数编写单位测试的代码?平日,须要推敲以下用例:
- 输入以空白字符或者换行符开首的,error不为空,返回 NO
- 输入精确的内容,error为空,返回YES
- 输工资nil,error不为空,返回 NO (界线前提)
- 输工资非NSString类型,验证不经由过程,返回NO (缺点输入)
- 特别输入字符(标点符号,非英文等等)
UI测试
UI测试是模仿用户操作,进而大年夜营业处层面测试。关于XCTest的UI测试,建议看看WWDC 2015的┞封个视频:
- UI Testing in Xcode
https://developer.apple.com/videos/play/wwdc2015/406/
关于UI测试,有几个核心类须要控制
- XCUIApplication 测试应用的代劳
- XCUIElement 一个UI上可见的视图对象
- XCUIElementQuery 查找XCUIElement
UI测试还有一个核心功能是UI Recording。选一一个UI测试用例,然后点击图中的小红点既可以开端UI Recoding。你会发明:
跟着点击模仿器,主动合成了测试代码。(平日主动合成代码后,还须要手动的去调剂)

在写UI测试用例的时刻要留意:测试行动而不是测试代码。比如,我们测试如许一个case
测试效不雅如下:

对应测试代码:
- - (void)testAddNewItems{
- //获取app代劳
- XCUIApplication *app = [[XCUIApplication alloc] init];
- //找到第一个tabeview,就是我们想要的tableview
- XCUIElement * table = [app.tables elementBoundByIndex:0];
- //记录下来添加之前的数量
- NSInteger oldCount = table.cells.count;
- //点击Add
- [app.navigationBars[@"ToDo"].buttons[@"Add"] tap];
- //找到Textfield
- XCUIElement *inputWhatYouWantTodoTextField = app.textFields[@"Input what you want todo"];
- //点击Textfield
- [inputWhatYouWantTodoTextField tap];
- //输入字符
- [inputWhatYouWantTodoTextField typeText:@"somethingtodo"];
- //点击保存
- [app.navigationBars[@"Add"].buttons[@"Save"] tap];
- //获取当前的数量
- NSInteger newCount = table.cells.count;
- //如不雅cells的数量加一,则认为测试成功
推荐阅读
如何安装Debian的非systemd复刻版本Devuan Linux
Devuan Linux 是 Debian 最新的复刻版本,是基于 Debian 的一个被设计为完全去除了 systemd 的版本。设置 Devuan Linux 的域名Devuan 宣布于 2014 岁尾,并经由了一段活泼的开辟。最新的发>>>详细阅读
本文标题:iOS自动化测试的那些干货
地址:http://www.17bianji.com/lsqh/34681.html
1/2 1

网友点评
精彩导读
科技快报
品牌展示