← 中文资源

简体中文版本

为韧性测试注入延迟故障

在显式测试开关后注入有界延迟,验证超时与回退,并保证测试环境之外注入始终关闭。

阅读英文原文

模拟慢依赖

超时和回退容易写,也容易被遗漏测试。延迟注入让测试放慢请求,观察截止时间、回退和错误响应是否工作。延迟必须有界,注入必须位于显式开关和令牌之后。

if (process.env.NODE_ENV === 'production') return next();
if (req.header('x-fault-latency') !== process.env.FAULT_TOKEN) return next();

失效关闭

注入必须在生产环境不可能被意外启用。先检查环境,默认关闭,并要求秘密请求头。添加测试断言生产模式总是绕过中间件。永久存在的调试延迟就是潜在故障。

测试完整响应

断言状态码、错误体、耗时和回退行为。还要测试依赖调用被取消,而不是在后台继续。重点不是延迟本身,而是系统在延迟下的失败处理是否有效。

验证注入边界

预期结果:带授权且延迟超过截止时间的测试请求返回文档化超时响应,正常请求和生产模式请求不受影响。用带故障头、不带故障头,以及 NODE_ENV=production 加开关的三种测试确认。生产测试必须证明中间件绕过延迟。