关闭

用Swift语言做App开发之单元测试

发表于:2015-2-27 10:53

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

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

  作为一个有质量保障的应用程序,当然少不了单元测试;Swift开发的App也亦如此,此文将以一个简单的实例来介绍Swift中的单元测试。
  这里我们使用XCode模版自带的XCTest框架,此框架包含了一个名为XCTestCase的类,所有的测试类都应该继承自它;按照约定俗成所有的测试方法名都应以test开头,并不能包含任何参数,只有这样,这些测试方法才能在运行测试时被自动执行;在每个测试方法里面,我们可以通过调用XCTAssert*函数去断言一个操作成功与否,如判等函数XCTAssertEqual、大于函数XCTAssertGreaterThan等;
  话不多说,请先使用XCode创建一个iOS的Single View Application项目,并选择Swift作为开发语言。
  大家可以看到创建完成后的目录结构应该是如此(这里我的项目名为TestDemo):
  默认的模版会创建两个文件夹,一个和项目名同名(这里是TestDemo),用于放置App的主程序;另外一个则是“项目名+Tests”(这里是TestDemoTests),用于放置测试代码;
  这里要注意的是,你要测试的类需要在Test中使用到,所以你在创建类文件时需要在Targets中同时选择TestDemo和TestDemoTests;
  如我在主应用程序中添加一个名为Url的类:
  创建完成后,录入代码:
1 class Url {
2     let baseUrl: String
3
4     init(baseUrl: String) {
5         self.baseUrl = baseUrl
6     }
7
8     func getActualPathFrom(resourcePath: String, segments: [String:String]) -> String {
9         var actualPath = resourcePath
10         for (key,value) in segments {
11             var segmentPlaceHolder = "{\(key)}"
12             actualPath = actualPath.stringByReplacingOccurrencesOfString(segmentPlaceHolder, withString: value, options: .LiteralSearch, range: nil)
13         }
14         return baseUrl + actualPath
15     }
16 }
21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号