相关疑难解决方法(0)

在单元测试中模拟HttpClient

我有一些问题试图包装我的代码用于单元测试.问题是这样的.我有接口IHttpHandler:

public interface IHttpHandler
{
    HttpClient client { get; }
}
Run Code Online (Sandbox Code Playgroud)

而使用它的类,HttpHandler:

public class HttpHandler : IHttpHandler
{
    public HttpClient client
    {
        get
        {
            return new HttpClient();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

然后是Connection类,它使用simpleIOC来注入客户端实现:

public class Connection
{
    private IHttpHandler _httpClient;

    public Connection(IHttpHandler httpClient)
    {
        _httpClient = httpClient;
    }
}
Run Code Online (Sandbox Code Playgroud)

然后我有一个单元测试项目,有这个类:

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 …
Run Code Online (Sandbox Code Playgroud)

c# unit-testing moq

90
推荐指数
15
解决办法
7万
查看次数

Stubbing或Mocking ASP.NET Web API HttpClient

我在项目中使用新的Web API位,我发现我无法正常使用HttpMessageRequest,因为我需要将客户端证书添加到请求中.结果,我正在使用HttpClient(所以我可以使用WebRequestHandler).这一切都很好,除了它不是存根/模拟友好,至少对于Rhino Mocks.

我通常会创建一个HttpClient我将使用的包装器服务,但我想尽可能避免这种情况,因为我需要包装很多方法.我希望我遗漏了一些东西 - 关于如何存根的任何建议HttpClient

unit-testing rhino-mocks wcf-web-api

28
推荐指数
3
解决办法
2万
查看次数

标签 统计

unit-testing ×2

c# ×1

moq ×1

rhino-mocks ×1

wcf-web-api ×1