★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
➤微信公衆號:山青詠芝(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 }