[Swift通天遁地]七、数据与安全-(14)使用单元测试进行邮箱格式的验证

[Swift通天遁地]七、数据与安全-(14)使用单元测试进行邮箱格式的验证,第1张

概述本文将演示使用单元测试进行邮箱格式验证。 如果项目中没有引用单元格测试框架, 项目导航区点击选中项目名称,再点击中间列的【+】图标进行添加。 在d出的模板窗口中,选择单元测试框架模板【iOS Unit Testing Bundle】 ->【Next】->保持默认的选项设置->【Finish】 现在创建一个基于正则表达式的验证类。 在项目文件夹【DemoApp】上点击鼠标右键,d出右键菜单。 【N

本文将演示使用单元测试进行邮箱格式的验证。

如果项目中没有引用单元格测试框架,

项目导航区点击选中项目名称,再点击中间列的【+】图标进行添加。

在d出的模板窗口中,选择单元测试框架模板【iOS Unit Testing Bundle】

->【Next】->保持默认的选项设置->【Finish】

现在创建一个基于正则表达式的验证类。

在项目文件夹【DemoApp】上点击鼠标右键,d出右键菜单。

【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         do15         {16             //创建一个正则表达式,并且在检验格式时,不对大小写进行区分。17             regex = try NSRegularExpression(pattern: pattern,18                                             options: NSRegularExpression.Options.caseInsensitive)19         }20         catch21         {22             regex = nil23         }24     }25     26     //创建一个方法,用来执行正则表达式的检测工作,并且返回一个布尔结果。27     func match(_ input: String) -> Bool28     {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 > 039         }40         else41         {42             return false43         }44     }45 }46 47 //添加一个验证邮箱格式的类48 class EmailUtil49 {50     //添加一个方法,拥有一个字符串类型的参数,用来检测字符串。51     func valIDateEmail(email:String) -> Bool52     {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 true64         }65         //返回检测的结果66         return false67     }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: "[email protected]")17         //在方法的末尾,通过一个断言,检测执行正则校验后的结果。18         XCTAssert(result,"E-mail is incorrect.")19         //最后点击testemail()方法名称左侧的菱形图标,执行该测试用例20     }21 }
总结

以上是内存溢出为你收集整理的[Swift通天遁地]七、数据与安全-(14)使用单元测试进行邮箱格式的验证全部内容,希望文章能够帮你解决[Swift通天遁地]七、数据与安全-(14)使用单元测试进行邮箱格式的验证所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1020042.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存