★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
➤微信公众号:山青咏芝(shanqingyongzhi)
➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/)
➤GitHub地址:https://github.com/strengthen/LeetCode
➤原文地址:http://www.javashuo.com/article/p-acwebbhc-mb.html
➤若是连接不是山青咏芝的博客园地址,则多是爬取做者的文章。
➤原文已修改更新!强烈建议点击原文地址阅读!支持做者!支持原创!
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★html
目录:[Swift]通天遁地Swiftgit
本文将演示使用单元测试进行邮箱格式的验证。github
若是项目中没有引用单元格测试框架,正则表达式
项目导航区点击选中项目名称,再点击中间列的【+】图标进行添加。swift
在弹出的模板窗口中,选择单元测试框架模板【iOS Unit Testing Bundle】安全
->【Next】->保持默认的选项设置->【Finish】微信
如今建立一个基于正则表达式的验证类。框架
在项目文件夹【DemoApp】上点击鼠标右键,弹出右键菜单。post
【New File】->【Swift File】->【Next】->单元测试
【Save As】:EmailUtil.swift->【Create】
1 import UIKit 2 3 //为了使用正则表达式对字符串进行检测, 4 //添加一个用于正则表达式检测的结构体。 5 struct RegexHelper 6 { 7 //此处使用Object-C正则表达式的类,进行表达式的检测。 8 let regex: NSRegularExpression? 9 10 //对结构体进行初始化,并传入一个字符串参数,用于检验邮箱格式的正则表达式。 11 init(_ pattern: String) 12 { 13 //添加一个异常捕捉语句,用来执行正则表达式的匹配工做。 14 do 15 { 16 //建立一个正则表达式,而且在检验格式时,不对大小写进行区分。 17 regex = try NSRegularExpression(pattern: pattern, 18 options: NSRegularExpression.Options.caseInsensitive) 19 } 20 catch 21 { 22 regex = nil 23 } 24 } 25 26 //建立一个方法,用来执行正则表达式的检测工做,而且返回一个布尔结果。 27 func match(_ input: String) -> Bool 28 { 29 //对字符串进行正则表达式的检测, 30 //而且得到匹配的对象在字符串中的范围。 31 if let matches = regex?.matches(in: input, 32 options: .reportProgress, 33 range: NSMakeRange(0, input.lengthOfBytes(using: .utf8))) 34 { 35 //判断匹配正则表达式的位置,是否大于0, 36 //以判断字符串与正则表达式是否匹配。 37 //若是字符串不匹配正则表达式,则返回否。 38 return matches.count > 0 39 } 40 else 41 { 42 return false 43 } 44 } 45 } 46 47 //添加一个验证邮箱格式的类 48 class EmailUtil 49 { 50 //添加一个方法,拥有一个字符串类型的参数,用来检测字符串。 51 func validateEmail(email:String) -> Bool 52 { 53 //经过正则表达式对该参数进行检测, 54 //建立一个用于检测邮箱格式的正则表达式字符串。 55 let pattern = "^([a-z0-9_\\.-]+)@([\\da-z\\.-]+)\\.([a-z\\.]{2,6})$" 56 //建立一个用于正则检验的结构体对象。 57 let matcher = RegexHelper(pattern) 58 59 //使用结构体的匹配方法,对字符串进行正则校验。 60 if matcher.match(email) 61 { 62 //若是属于正确的邮箱格式则返回真。 63 return true 64 } 65 //返回检测的结果 66 return false 67 } 68 }
点击各刚建立的文件夹【UnitTestProject_DemoTests】,
显示文件夹下的全部项目,建立一个单元测试类文件。
【New File】->【Cocoa Touch Class】->【Next】->
【Class】:EmailTester
【Subclass of】:XCTestCase
【Language】:Swift
->【Next】->【Create】
如今开始编写代码,建立一个自定义的测试用例。
1 //引入单元测试类库 2 import XCTest 3 //引入另外一个目标中的类, 4 //这样能够在当前的类文件中,使用另外一个目标的类文件。 5 @testable import UnitTestProject_ValidateEmail 6 7 class EmailTester: XCTestCase { 8 9 //添加一个测试用例 10 //点击方法名称左侧的菱形图标,执行该测试用例。 11 func testEmail() 12 { 13 //初始化一个邮箱格式验证的实例 14 let emailUtil = EmailUtil() 15 //调用实例的验证方法,判断指定的邮箱格式是否正确。 16 let result = emailUtil.validateEmail(email: "newsagency@163.com") 17 //在方法的末尾,经过一个断言,检测执行正则校验后的结果。 18 XCTAssert(result, "E-mail is incorrect.") 19 //最后点击testEmail()方法名称左侧的菱形图标,执行该测试用例 20 } 21 }