为了账号安全,请及时绑定邮箱和手机立即绑定

在单元测试中模拟HttpClient

在单元测试中模拟HttpClient

白衣染霜花 2019-12-21 12:47:44
我在尝试包装要在单元测试中使用的代码时遇到了一些问题。问题是这样的。我有接口IHttpHandler:public interface IHttpHandler{    HttpClient client { get; }}和使用它的类,HttpHandler:public class HttpHandler : IHttpHandler{    public HttpClient client    {        get        {            return new HttpClient();        }    }}然后是Connection类,该类使用simpleIOC注入客户端实现:public class Connection{    private IHttpHandler _httpClient;    public Connection(IHttpHandler httpClient)    {        _httpClient = httpClient;    }}然后我有一个具有此类的单元测试项目:private IHttpHandler _httpClient;[TestMethod]public void TestMockConnection(){    var client = new Connection(_httpClient);    client.doSomething();      // Here I want to somehow create a mock instance of the http client    // Instead of the real one. How Should I approach this?     }现在显然我将在Connection类中具有从后端检索数据(JSON)的方法。但是,我想为此类编写单元测试,显然我不想针对真正的后端编写测试,而只是想模拟一个后端。我曾试图用谷歌搜索一个很好的答案,但没有成功。我可以并且曾经使用过Moq进行模拟,但是从未使用过诸如httpClient之类的东西。我应该如何解决这个问题?提前致谢。
查看完整描述

3 回答

  • 3 回答
  • 0 关注
  • 1069 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信