模拟HttpClient超时异常

本文关键字:异常 超时 HttpClient 模拟 | 更新日期: 2023-09-27 18:29:21

我正在对调用web服务的viewmodel命令进行单元测试。我的视图模型依赖于此视图模型调用的"GetAsync"方法IHttpService。

我想对我的视图模型进行单元测试,并管理"GetAsync"返回一个取消的任务的事实,当它用HttpClient实现时以及当发生TimeOutException时就是这种情况。如何设置我的IHttpServiceMock以返回这样的任务?

我尝试了TaskCompletionSource.SetCanceled(),但我无法判断是哪个异常被取消了。。。

模拟HttpClient超时异常

我认为您需要使用SetException而不是SetCanceled;与被要求停止工作的线程相比,在完成异常时仍然完成的线程。