HttpListenerContext を使用するコードを単体テストしようとしています。モックできる基本クラスまたはインターフェイスが見つかりません。HttpListenerContext の HttpRequestBase のようなものはありますか?
質問する
1372 次
1 に答える
3
この問題を解決する方法は、仮想メソッドを持つ抽象クラスを作成することです。
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 に対してすべてのメソッドを記述し、モック化されたメソッドに挿入します。
少し手間がかかりますが、テスト可能なものに到達します。
于 2013-02-26T14:50:53.353 に答える