如何使用 HttpTest (flurl) 模拟更长的响应时间(不是超时)
How to simulate longer response time (not timeout) using HttpTest (flurl)
我想配置HttpTest模拟慢响应测试;比如在响应配置的 RespondWith*
响应之前等待 X 秒。有什么建议吗?
这不直接受支持。单元测试应该很快(SimulateTimeout
立即抛出 FlurlHttpTimeoutException
,而不是实际暂停),但我想我可以看到这在某种集成测试中很有用。
有一种方法可以做到这一点。 RespondWith
的 low-level 重载需要构建器函数。您可以在此处添加暂停,尽管它不支持异步,所以我建议 Thread.Sleep
而不是 Task.Delay
。 (不理想,但老实说,它在设计时并没有考虑到这个用例。)
在你的设置中应该这样做:
httpTest.RespondWith(() => {
// pause for 1 second
Thread.Sleep(1000);
return new StringContent("ok");
});
我想配置HttpTest模拟慢响应测试;比如在响应配置的 RespondWith*
响应之前等待 X 秒。有什么建议吗?
这不直接受支持。单元测试应该很快(SimulateTimeout
立即抛出 FlurlHttpTimeoutException
,而不是实际暂停),但我想我可以看到这在某种集成测试中很有用。
有一种方法可以做到这一点。 RespondWith
的 low-level 重载需要构建器函数。您可以在此处添加暂停,尽管它不支持异步,所以我建议 Thread.Sleep
而不是 Task.Delay
。 (不理想,但老实说,它在设计时并没有考虑到这个用例。)
在你的设置中应该这样做:
httpTest.RespondWith(() => {
// pause for 1 second
Thread.Sleep(1000);
return new StringContent("ok");
});