Moqを使用してHttpResponseBaseのモックオブジェクトを作成しています。ライブラリでHttpResponseBase.End()が呼び出されたことをテストできる必要があります。これを行うには、呼び出しの前にテキストを指定し、呼び出しの後にテキストを指定します。次に、End()を呼び出す前のテキストのみがHttpResponseBase.Outputに存在することを確認します。
問題は、ASP.NETの場合のように、HttpResponseBase.End()をモックして処理を停止する方法がわからないことです。
public static HttpResponseBase CreateHttpResponseBase() {
var mock = new Mock<HttpResponseBase>();
StringWriter output = new StringWriter();
mock.SetupProperty(x => x.StatusCode);
mock.SetupGet(x => x.Output).Returns(output);
mock.Setup(x => x.End()) /* what do I put here? */;
mock.Setup(x => x.Write(It.IsAny<string>()))
.Callback<string>(s => output.Write(s));
return mock.Object;
}