1

我的一个控制器中有一个 asp.net mvc 3 项目

Response.Cookies.Add()

当我运行一些旧的单元测试时,它们现在死于“响应”,因为它是空的。我不知道如何模拟它来解决这个问题。

我在这里看到了几篇帖子,但似乎没有一个解决方案有效,也没有人谈论“Cookies”。

4

2 回答 2

2
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;
于 2013-10-09T18:51:35.513 回答
1

创建ResponseProvider涵盖此静态功能的类,例如。在代码中,您将此类添加为下一个依赖项,然后调用 eg responseProvider.AddCookie()。在测试中,您可以为此使用模拟对象ResponseProvider

于 2013-10-08T17:51:16.397 回答