模拟HttpClient TimeoutException

时间:2014-11-05 20:38:47

标签: c# unit-testing mocking task-parallel-library

我正在测试调用Web服务的viewmodel命令。我的viewmodel依赖于IHttpService,其中GetAsync'方法由此viewmodel调用。

我想对我的viewmodel进行单元测试并管理' GetAsync'返回已取消的任务,这是在使用HttpClient实现并且发生TimeOutException时的情况。我如何设置我的IHttpServiceMock来返回这样的任务?

我尝试使用TaskCompletionSource.SetCanceled(),但我无法判断它被取消了哪个例外...

1 个答案:

答案 0 :(得分:1)

我认为您需要使用SetException而不是SetCanceled;一个完成异常但仍然完成的线程,而不是被要求停止工作的线程。