首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用HttpTest (flurl)模拟更长的响应时间(而不是超时)

问如何使用HttpTest (flurl)模拟更长的响应时间(而不是超时)
EN

Stack Overflow用户
提问于 2020-08-28 23:16:32
回答 1查看 206关注 0票数 1

我想将HttpTest配置为模拟慢响应测试;例如,在使用已配置的RespondWith*响应进行响应之前等待X秒。有什么建议吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-05 23:11:33

这不是直接支持的。单元测试应该很快(SimulateTimeout会立即抛出一个FlurlHttpTimeoutException,而不是真正的暂停),但我猜这在某种集成测试中是有用的。

有一种方法可以做到这一点。有一个低级的RespondWith重载,需要一个构建器函数。你可以在这里添加一个暂停,尽管它不支持异步,所以我建议使用Thread.Sleep而不是Task.Delay。(不是很理想,但老实说,它在设计时并没有考虑到这个用例。)

在您的设置中,应该可以这样做:

代码语言:javascript
复制
httpTest.RespondWith(() => {
    // pause for 1 second
    Thread.Sleep(1000);
    return new StringContent("ok");
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63636575

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档