我需要为我的 ASP.NET 通用处理程序创建单元测试用例。我的处理程序代码如下:
public class MyHandler : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
context.Response.Write("Hello World");
var data = context.Request.InputStream;
//Here logic read the context.Request.InputStream
//All the data will be posted to this Stream
//Calling of business logic layer Methods
}
public bool IsReusable
{
get
{
return false;
}
}
}
现在,我需要为这个 Handler 创建单元测试用例。我尝试过以下方法来做单元测试用例。
- 对此句柄进行
HttpWebRequest
处理并将所有数据写入请求流。我不想继续这样做,因为我们有单独的工具可以HttpWebRequest
测试所有处理程序 - 为业务方法创建单元测试用例,但在此我无法检查在处理程序级别编写的一些逻辑。
我试图模拟 HttpContext 但它不允许模拟它(是否可以模拟 HttpContent?)。我尝试过
这种方式,但这也需要对我的处理程序进行修改,但我没有这样做的准备。
最后我的问题是,还有其他方法来单元测试处理程序吗?
提前致谢。