possível zombar de um .NET HttpWebRespons

Eu tenho um teste de integração que obtém algum resultado json de um servidor de terceiros. É realmente simples e funciona muito bem.

Eu esperava parar de realmente atingir este servidor e usarMoq (ou qualquer biblioteca de zombaria, como ninject, etc) para seqüestrar e forçar o resultado de retorn

Isso é possível

Aqui está um código de exemplo: -

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..
}

e, é claro, esse método é chamado no meu teste.

Eu estava pensando que talvez eu precisasse passar para esse método (ou uma propriedade da classehttpWebResponse ou algo assim, mas não tinha muita certeza se esse era o caminho. Além disso, a resposta é uma saída de umhttpWebRequest.GetResponse() método .. então talvez eu só precise passar uma zombadaHttpWebRequest?.

Qualquer sugestão com algum código de exemplo seria mais apreciada!