コントローラーの1つにあるasp.net mvc 3プロジェクトがあります
Response.Cookies.Add()
いくつかの古い単体テストを実行すると、"Response" が null であるため、"Response" で終了します。この問題を解決するためにモックアップする方法がわかりません。
ここでいくつかの投稿を見ましたが、解決策はどれも機能していないようで、「Cookie」について話しているものはありません。
コントローラーの1つにあるasp.net mvc 3プロジェクトがあります
Response.Cookies.Add()
いくつかの古い単体テストを実行すると、"Response" が null であるため、"Response" で終了します。この問題を解決するためにモックアップする方法がわかりません。
ここでいくつかの投稿を見ましたが、解決策はどれも機能していないようで、「Cookie」について話しているものはありません。
var responseCookies = new HttpCookieCollection();
var mockResponse = Mock.Of<HttpResponseBase>(r => r.Cookies == responseCookies);
//you can use new Mock<>, and the set it up as well, but for simple setups I prefer the above syntax
myTestController.Response = mockResponse;
ResponseProvider
この静的機能をカバーするクラスなどを作成します。コードでは、このクラスを次の依存関係として追加すると、eg が呼び出されますresponseProvider.AddCookie()
。テストでは、これにモック オブジェクトを使用できますResponseProvider
。