我的一个控制器中有一个 asp.net mvc 3 项目
Response.Cookies.Add()
当我运行一些旧的单元测试时,它们现在死于“响应”,因为它是空的。我不知道如何模拟它来解决这个问题。
我在这里看到了几篇帖子,但似乎没有一个解决方案有效,也没有人谈论“Cookies”。
我的一个控制器中有一个 asp.net mvc 3 项目
Response.Cookies.Add()
当我运行一些旧的单元测试时,它们现在死于“响应”,因为它是空的。我不知道如何模拟它来解决这个问题。
我在这里看到了几篇帖子,但似乎没有一个解决方案有效,也没有人谈论“Cookies”。
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
。