如何创建一个模拟HttpWebRequest和HttpWebResponse对象

Ste*_*eve 10 c# unit-testing

如何创建模拟HttpWebRequest和HttpWebResponse对象我试图对下面这段代码进行单元测试

HttpWebrequest request;   

if (null != request)
{                         
    var response = (HttpWebResponse)request.GetResponse();
    using (var sr = new StreamReader(response.GetResponseStream()))
    {
        jsonResult = sr.ReadToEnd();
    }

    var myRecords = SerializationHelper.Deserialize<Records>(jsonResult);
}
Run Code Online (Sandbox Code Playgroud)

Mus*_*ici 2

您无法为 HttpWebResponse 创建模拟,而不是模拟 HttpWebResponse 在接口后面包装调用,然后模拟该接口。

  • 一点帮助都没有。您可以用接口包装它,但您仍然必须有一个实际使用真正的 HttpWebResponse 类的实现,并且该代码需要进行单元测试。 (3认同)