我需要对这个方法进行单元测试。如果有帮助,我正在使用最小起订量作为我的模拟框架。
[AcceptVerbs(HttpVerbs.Get)]
public RedirectToRouteResult LogOff()
{
FormsAuthentication.SignOut();
return RedirectToAction("Index", "Post");
}
干杯:)
编辑:我想知道的主要是 FormsAuthentication。我什至应该测试一下吗?我想我需要模拟一个身份,然后检查 IsAuthenticated 是否为假?
最佳答案
您可以为 FormsAuthentication 创建一个包装器并将其 stub
formsAuthentication = mockery.Stub<IFormsAuthentication>();
然后做这样的事情。
With.Mocks(mockery)
.Expecting(() => Expect.Call(() => formsAuthentication.SignOut()))
.Verify(() => controller.LogOff());
/* Asserts to go here */
在测试 FormsAuthentication 方面。在其他地方测试这个,关注点分离等等。
此操作的测试只需要检查是否已调用 SignOut 方法以及是否已发生重定向。请记住,您正在测试操作,而不是操作中的方法。您不会在提交操作中测试数据存储工作,您会模拟所有这些。
关于asp.net-mvc - 我如何对这种方法进行单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/733127/