Es posible simular un .NET HttpWebResponse?

Tengo una prueba de integración que toma algunos resultados json de un servidor de terceros. Es realmente simple y funciona muy bien.

Esperaba dejar de golpear este servidor y usarMoq (o cualquier biblioteca de Mocking, como ninject, etc.) para secuestrar y forzar el resultado de retorno.

¿es posible

Aquí hay un código de muestra: -

public Foo GoGetSomeJsonForMePleaseKThxBai()
{
    // prep stuff ...

    // Now get json please.
    HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create("Http://some.fancypants.site/api/hiThere);
    httpWebRequest.Method = WebRequestMethods.Http.Get;

    string responseText;

    using (var httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse())
    {
        using (var streamReader = new StreamReader(httpWebResponse.GetResponseStream()))
        {
            json = streamReader.ReadToEnd().ToLowerInvariant();
        }
    }

    // Check the value of the json... etc..
}

y, por supuesto, este método se llama desde mi prueba.

staba pensando que tal vez necesito pasar a este método (¿o una propiedad de la clasehttpWebResponse o algo así, pero no estaba muy seguro de si este era el camino. Además, la respuesta es una salida de unahttpWebRequest.GetResponse() método ... así que tal vez solo necesito pasar una @ burlaHttpWebRequest?.

Cualquier sugerencia con algún código de muestra sería muy apreciada!

Respuestas a la pregunta(14)

Su respuesta a la pregunta