Mocking HttpListenerContext

本文关键字:HttpListenerContext Mocking | 更新日期: 2023-09-27 18:01:06

我正在尝试对一些使用HttpListenerContext的代码进行单元测试。我找不到可以模拟的基类或接口。HttpListenerContext有类似HttpRequestBase的东西吗?

Mocking HttpListenerContext

解决问题的方法是用虚拟方法创建一个抽象类。

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编写所有方法,并注入一个模拟方法。

付出一点努力,但会让你达到可测试的水平。

相关文章:
  • 没有找到相关文章