我想将HttpTest配置为模拟慢响应测试;例如,在使用已配置的RespondWith*响应进行响应之前等待X秒。有什么建议吗?
发布于 2020-09-05 23:11:33
这不是直接支持的。单元测试应该很快(SimulateTimeout会立即抛出一个FlurlHttpTimeoutException,而不是真正的暂停),但我猜这在某种集成测试中是有用的。
有一种方法可以做到这一点。有一个低级的RespondWith重载,需要一个构建器函数。你可以在这里添加一个暂停,尽管它不支持异步,所以我建议使用Thread.Sleep而不是Task.Delay。(不是很理想,但老实说,它在设计时并没有考虑到这个用例。)
在您的设置中,应该可以这样做:
httpTest.RespondWith(() => {
// pause for 1 second
Thread.Sleep(1000);
return new StringContent("ok");
});https://stackoverflow.com/questions/63636575
复制相似问题