我正在寻找一种能够在我的一个控制器测试中重现哈克尼 HTTP POST 请求超时的方法。我也在使用 ExVCR,但这似乎也不允许您强制请求超时。
我尝试在发出请求时将哈克尼超时设置为 1,但它超时,但我不想在测试中实际发出请求。
我愿意使用模拟/存根,但要确保我仍然可以在单元测试中使用 ExVCR,这些单元测试实际上向我正在集成的服务发出请求。我见过的所有模拟库和模式都为整个测试环境存根了整个模块,这不是我想要的。
这是我正在提出的请求的示例:
:hackney.post(url, [timeout: 1], body, get_auth())
我希望这个返回{:error, :timeout}
,这是哈克尼在真正的超时场景中返回的。