我正在尝试对使用HttpListenerContext的一些代码进行单元测试.我找不到可以模拟的基类或接口. HttpListenerContext有什么类似HttpRequestBase的东西吗? 最佳答案 解决问题的方法是使用虚方法创建抽象类.
public abstract class HttpListenerContextBase
{
public virtual HttpListenerRequestBase Request { get; private set; }
public virtual HttpListenerResponseBase Response { get; private set; }
public virtual IPrincipal User { get; private set; }
}
然后,您可以为构造函数中接受HTTPListnerContext并从HttpListenerContextBase继承的真实类创建自己的包装类.它只是从真实的上下文中返回方法.
在您的代码中,然后您将针对HttpListenerContextBase编写所有方法并注入一个模拟的方法.
一点努力,但让你有可测试的东西.