Symfonyob娱乐下载 3.1中的新功能:网络模拟和DNS敏感测试
2016年4月13日·发表的哈维尔Eguiluz
警告:这篇文章是关于一个不受支持的Symfony版本。ob娱乐下载有些信息可能已经过时了。阅读最新的Symfony文档ob娱乐下载.
提供的
尼古拉斯Grekas
在# 18181.
在Syob娱乐下载mfony 2.8中,我们添加了一个可以轻松模拟时钟的特性时间敏感测试.这降低了瞬态测试的风险,瞬态测试随机失败并使您的测试套件不可靠。
除时间外,网络连接是瞬态测试的另一个主要原因。这就是为什么Symfoob娱乐下载ny 3.1添加了一个特性来模拟DNS敏感测试中的网络。具体来说,PHPUnit)桥现在提供了这些PHP函数的模拟:
- checkdnsrr
- dns_check_record
- getmxrr
- dns_get_mx
- gethostbyaddr
- gethostbyname
- gethostbynamel
- dns_get_record
属性的下面的测试checkMX
选项电子邮件
检查邮箱域有效性的约束:
12 3 4 5 6 7 8 9 10 11 12 13
使用ob娱乐下载\组件\验证器\约束\电子邮件;类MyTest扩展\PHPUnit_Framework_TestCase{公共函数testEmail(){$验证器=……$约束=新电子邮件([“checkMX”= >真正的]);$结果=$验证器->validate (“foo@example.com”,$约束);/ /……}
添加@dns-sensitive
注释到测试类,以避免进行真正的网络连接。然后,使用DnsMock: withMockedHosts ()
方法来配置您期望为给定主机获取的数据:
12 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
使用ob娱乐下载\组件\验证器\约束\电子邮件;/ * * *@groupdns-sensitive * /类MyTest扩展\PHPUnit_Framework_TestCase{公共函数testEmails(){DnsMock::withMockedHosts ([“example.com”= > [[“类型”= >“MX”]]]);$验证器=……$约束=新电子邮件([“checkMX”= >真正的]);$结果=$验证器->validate (“foo@example.com”,$约束);/ /……}
该测试现在将在不进行任何实际网络连接的情况下执行。除了执行速度更快之外,该测试不会因为网络条件而再次失败。
的withMockedHosts ()
方法配置定义为一个数组。键是模拟的主机,值是返回的相同格式的DNS记录数组dns_get_record,可以模拟不同的网络情况:
1 2 3 4 5 6
DnsMock::withMockedHosts ([“example.com”=> [[“类型”= >“一个”,“知识产权”= >“为1.2.3.4”]、[“类型”= >“AAAA”,“ipv6”= >“::12”],],]);
发表在#生活在边缘
评论
评论截止。
为了确保评论保持相关性,旧帖子将被关闭。
Javier Eguiluz is a certified Symfony engineer.
Get certified! Online exams available in all countries.
Register Now