データを書き込むパブリック関数を書いていますHttpContext.Current.Response.AppendToLog
が、このためのユニットテストを書く方法はありますか?
AppendToLogによって書き込まれたデータをアサートする方法のモック/カスタムオブジェクトを作成HttpContext
して割り当ててみました。HttpContext.Current
データを書き込むパブリック関数を書いていますHttpContext.Current.Response.AppendToLog
が、このためのユニットテストを書く方法はありますか?
AppendToLogによって書き込まれたデータをアサートする方法のモック/カスタムオブジェクトを作成HttpContext
して割り当ててみました。HttpContext.Current
インターフェイスを作成し、実装で HttpContext をラップします。
public interface IHttpContext
{
void AppendToResponseLog(/*parmas go here*/);
}
public class HttpContextWrapper : IHttpContext
{
private HttpContext _httpContext = HttpContext.Current; //or constructor param
public void AppendToResponseLog(/*parmas go here*/)
{
_httpContext.Response.AppendToLog(/*params*/);
}
}
IHttpContext
クラスをの代わりに に依存させますHttpContext.Current
。テストに関しては、モックできるようになりIHttpContext
ました。
注: テスト/モックできるようにするすべての .NET Framework 依存関係に対して、この同じ方法を使用します。