模拟慢依赖
超时和回退容易写,也容易被遗漏测试。延迟注入让测试放慢请求,观察截止时间、回退和错误响应是否工作。延迟必须有界,注入必须位于显式开关和令牌之后。
if (process.env.NODE_ENV === 'production') return next();
if (req.header('x-fault-latency') !== process.env.FAULT_TOKEN) return next();
失效关闭
注入必须在生产环境不可能被意外启用。先检查环境,默认关闭,并要求秘密请求头。添加测试断言生产模式总是绕过中间件。永久存在的调试延迟就是潜在故障。
测试完整响应
断言状态码、错误体、耗时和回退行为。还要测试依赖调用被取消,而不是在后台继续。重点不是延迟本身,而是系统在延迟下的失败处理是否有效。
验证注入边界
预期结果:带授权且延迟超过截止时间的测试请求返回文档化超时响应,正常请求和生产模式请求不受影响。用带故障头、不带故障头,以及 NODE_ENV=production 加开关的三种测试确认。生产测试必须证明中间件绕过延迟。