私はMoqを使ってHttpResponseBaseのモックオブジェクトを作成しています。私は私のライブラリでHttpResponseBase.End()が呼び出されたことをテストできるようにする必要があります。これを行うには、呼び出しの前にテキストを指定し、その後にテキストを指定します。次に、HttpResponseBase.OutputにEnd()を呼び出す前のテキストのみが存在することを確認します。HttpResponseBase.End()をどうやって模擬しますか?
問題は、私はHttpResponseBase.End()を模倣して、ASP.NETでの処理のように処理を停止する方法を見つけられません。
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;
}
ありがとうございます!フラグを設定するのが最も簡単な方法です。 –