关于ASP.NET MVC:如何在MVC .NET中测试Cookie?

关于ASP.NET MVC:如何在MVC .NET中测试Cookie?

How do you test cookies in MVC .net?

http://stephenwalther.com/blog/archive/2008/07/01/asp-net-mvc-tip-12-faking-the-controller-context.aspx

这篇文章展示了如何测试设置cookie,然后在ViewData中看到它。 我要做的是查看是否写入了正确的cookie(值和名称)。 任何答复,博客文章或文章将不胜感激。


您是否在寻找类似的东西? (未经测试,只需在回复框中输入)

1
2
3
4
var cookies = new HttpCookieCollection();
controller.ControllerContext = new FakeControllerContext(controller, cookies);
var result = controller.TestCookie() as ViewResult;
Assert.AreEqual("somevaluethatshouldbethere", cookies["somecookieitem"].Value);

在这种情况下,您是说要测试cookie的编写而不是读取cookie吗?
如果可能的话,请让您的要求更清楚:)


也许您需要传递一个将Cookie写入的Fake Response对象,然后测试从Controller返回的结果。


1
2
3
4
5
6
7
8
function ReadCookie(cookieName) {
 var theCookie=""+document.cookie;
 var ind=theCookie.indexOf(cookieName);
 if (ind==-1 || cookieName=="") return"";
 var ind1=theCookie.indexOf(';',ind);
 if (ind1==-1) ind1=theCookie.length;
 return unescape(theCookie.substring(ind+cookieName.length+1,ind1));
}

推荐阅读