Swift中使用Nimble库进行单元测试

发表于:2015-7-14 11:02

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

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

分享:
  我们继续主题,按下 Command + U 运行单元测试,断言依然会失败:
  而这次给出的错误消息,是 Nimble 自动生成的(其实绝大多数情况下,自动生成的错误消息就足够用了)。
  好了,我们现在可以修正一下代码,让断言通过了:
  我们现在对 Nimble 有了一个初步的认识了。而 Nimble 能为我们提供的,远不止这些。下面我们来继续了解。
  对于 Swift, Nimble 也提供了操作符重载的支持,比如我们上面判断相等的方法,也可以写成这样:
  expect(i) == 0
  类似的,我们还可以进行比较操作:
  expect(i).to(equal(0))
  expect(i) == 0
  expect(i).to(beGreaterThan(-2))
  expect(i) > -2
  expect(i).to(beGreaterThanOrEqualTo(0))
  expect(i) >= 0
  expect(i).to(beLessThan(2))
  expect(i) < 2
  expect(i).to(beLessThanOrEqualTo(1))
  expect(i) <= 1
  我们看到,每一个比较方法,在 Swift 中都提供了操作符重载,非常方便。
  我们还可以对异步方法进行测试:
  var collection:Array<String> = []
  dispatch_async(dispatch_get_main_queue()) {
  collection.append("first")
  collection.append("second")
  }
  expect(collection).toEventually(contain("first","second"))
  还可以使用 waitUntil 方法来阻塞当前线程,直到某些操作执行完成:
  waitUntil { done in
  NSThread.sleepForTimeInterval(0.5)
  done()
  }
  你还可以用 Nimble 来判断两个实例的引用是否相同:
  expect(actual).to(beIdenticalTo(expected))
  expect(actual) === expected
22/2<12
精选软件测试好文,快来阅读吧~

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号