Puma 积压未被清除,请求在测试之间漏过。
作者: mikz创建于 2025年8月28日更新于 2026年7月14日
我在测试套件中调试 CSRF 异常时,在资源匮乏的机器上运行,只有一个 puma 线程。事实证明,`setTimeout` 中的 fetch 调用以及 puma 无法快速处理请求,导致请求在测试之间泄露,产生 CSRF 异常。我不确定为什么或如何会通过中间件漏过 - 也许在 puma 接受更多请求之前,会进行一次成功的检查。在我的测试中,这个非常基本的 monkey patch 解决了问题,并清除了测试之间的所有请求。
内容来源: teamcapybara/capybara