iOS单元测试(作用及入门提升)

发表于:2016-5-26 10:35

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:RasonWu    来源:51Testing软件测试网采编

  这时会发现AFNetworking根本没法在单元测试里使用,因为没有找到库,所以我们需要配置一下:
  在Info.plist中添加NSAppTransportSecurity类型Dictionary。 在NSAppTransportSecurity下添加NSAllowsArbitraryLoads类型Boolean,值设为YES。设置位置如下:
  
  iOS9的http安全问题:现在进行异步请求的网络测试,由于测试方法主线程执行完就会结束,所以需要设置一下,否则没法查看异步返回结果。在方法结束前设置等待,调回回来的时候再让它继续执行。(另一种异步函数的单元测试)定义宏如下:
  //waitForExpectationsWithTimeout是等待时间,超过了就不再等待往下执行。
  #define WAIT do {\\
  [self expectationForNotification:@"RSBaseTest" object:nil handler:nil];\\
  [self waitForExpectationsWithTimeout:30 handler:nil];\\
  } while (0)
  #define NOTIFY \\
  [[NSNotificationCenter defaultCenter]postNotificationName:@"RSBaseTest" object:nil]
  增加测试方法testRequest:
  -(void)testRequest{
  // 1.获得请求管理者
  AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager];
  mgr.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"text/html",nil];
  // 2.发送GET请求
  [mgr GET:@"http://www.weather.com.cn/adat/sk/101110101.html" parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {
  NSLog(@"responseObject:%@",responseObject);
  XCTAssertNotNil(responseObject, @"返回出错");
  NOTIFY //继续执行
  } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
  NSLog(@"error:%@",error);
  XCTAssertNil(error, @"请求出错");
  NOTIFY //继续执行
  }];
  WAIT  //暂停
  }
  有时候我们想测试一下整个流程是否可以跑通,比如获取验证码、登录、上传头像,查询个人资料。其实只要输入验证码就可以完成整个测试。这时候就需要用到输入框了,以便程序继续执行。使用了一个第三方的弹出输入框STAlertView,前面已经设置。
  STAlertView的使用方法:
  self.stAlertView = [[STAlertView alloc]initWithTitle:@"验证码" message:nil textFieldHint:@"请输入手机验证码" textFieldValue:nil cancelButtonTitle:@"取消" otherButtonTitle:@"确定" cancelButtonBlock:^{
  //点击取消返回后执行
  [self testAlertViewCancel];
  NOTIFY //继续执行
  } otherButtonBlock:^(NSString *b) {
  //点击确定后执行
  [self alertViewComfirm:b];
  NOTIFY //继续执行
  }];
  [self.stAlertView show];
  · 高级自动化单元测试,推荐看LeanCloud 工程师的李智维的自动化单元测试的直播录影
  · 李智维的演示github
  其实讲得非常不错,自动化单元测试,自动化发布都有讲到,不过由于自己的功力不够,只能留着以后慢慢学习。
22/2<12
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号