【发布时间】:2011-05-25 12:47:38
【问题描述】:
如何模拟(出于单元测试目的)网络连接丢失或将请求重定向到其他任何地方?
我在类定义中有一些硬编码的地址 :( 我想测试脚本在地址无法访问的情况下的行为。
我可以修改 etc/hosts(我在 win7 上),但我想在执行测试套件期间多次停用/修改连接。此外,每次测试前后都修改它是不切实际的。
因此,我需要在 windows 上为 php 设置一个代理,该代理能够接受来自运行脚本的命令(打开/关闭重定向)并能够根据调用的 url 制定重定向规则。
听起来像是Fiddler 的可能插件,但我没有找到任何插件:(
【问题讨论】:
-
您正在测试程序的哪个部分?您可以模拟网络层还是实际测试网络层?
-
我只需要模拟网络层的一部分——断开的连接。我有很多使用 3rd 方 api 的东西,所以我想避免模拟每个请求、每个 wsdl 文件等等。
标签: php windows unit-testing networking proxy