模拟超时来进行超时测试
程序员文章站
2022-03-07 20:29:49
...
超时是一种很常见的边界条件,我们如何验证这种边界条件呢。
超时时间一般是可以配置的,我们如何测试我们的配置生效没有呢。
对于自己的代码,我们可以简单粗暴的sleep一段时间,但是超时一般都是对于其他系统的,我们不能修改别的系统代码,这个时候怎么办呢?
这个时候tc qdisc就派上用场了。
tc 是Linux 系统中的一个工具,全名为 traffic control(流量控制),qdisc是Tc中的队列,通过队列的控制,可以实现发包的控制,从而实现模拟延时。
注意是发起请求的服务器进行设置,因为tc控制的是发包动作
设置超时 (这里的1000ms可以改成你想要的)
tc qdisc add dev eth0 root netem delay 1000ms
删除超时
tc qdisc del dev eth0 root
查看超时设置
tc qdisc show dev eth0
这个就可以完美实现了,而且非常灵活和快捷
超时时间一般是可以配置的,我们如何测试我们的配置生效没有呢。
对于自己的代码,我们可以简单粗暴的sleep一段时间,但是超时一般都是对于其他系统的,我们不能修改别的系统代码,这个时候怎么办呢?
这个时候tc qdisc就派上用场了。
tc 是Linux 系统中的一个工具,全名为 traffic control(流量控制),qdisc是Tc中的队列,通过队列的控制,可以实现发包的控制,从而实现模拟延时。
注意是发起请求的服务器进行设置,因为tc控制的是发包动作
设置超时 (这里的1000ms可以改成你想要的)
tc qdisc add dev eth0 root netem delay 1000ms
删除超时
tc qdisc del dev eth0 root
查看超时设置
tc qdisc show dev eth0
这个就可以完美实现了,而且非常灵活和快捷
上一篇: php登陆功能如何实现
下一篇: hideFocus(小技巧)
推荐阅读
-
在客户端配置TNS测试报错ORA-12170:TNS:连接超时
-
(转)开发者如何模拟接口获得自己想要的数据进行测试?
-
模拟超时来进行超时测试
-
SpringCloud 教程 | 第七篇: 服务消费者整合(Feign+Ribbon)设置超时时间和重试机制进行服务熔断降级(SpringBoot)(2.X版本)
-
Vue使用json-server来进行后端数据模拟
-
golang模拟实现带超时的信号量示例代码
-
PHP模拟登陆网站出现会话超时
-
adb server is out of date. killing... 本地连接夜神模拟器失败、超时
-
实例讲解golang模拟实现带超时的信号量
-
利用Python中的mock库对Python代码进行模拟测试