Unit testing ASP.NET MVC-内置单元测试中的密码长度
为什么ASP.NET MVC 2项目中此内置单元测试中的最后一个断言通过了Unit testing ASP.NET MVC-内置单元测试中的密码长度,unit-testing,asp.net-mvc-2,asp.net-membership,Unit Testing,Asp.net Mvc 2,Asp.net Membership,为什么ASP.NET MVC 2项目中此内置单元测试中的最后一个断言通过了 //File: AccountControllerTest.cs [TestMethod] public void ChangePassword_Get_ReturnsView() { // Arrange AccountController controller = GetAccountController(); // Act
//File: AccountControllerTest.cs
[TestMethod]
public void ChangePassword_Get_ReturnsView()
{
// Arrange
AccountController controller = GetAccountController();
// Act
ActionResult result = controller.ChangePassword();
// Assert
Assert.IsInstanceOfType(result, typeof(ViewResult));
Assert.AreEqual(10, ((ViewResult)result).ViewData["PasswordLength"]);
}
ViewData[“PasswordLength”]不应该是6吗?如果查看project Web.config,minRequiredPasswordLength的值为6,而不是10
//File: Web.config
<membership>
<providers>
<add name="AspNetSqlMembershipProvider" ... minRequiredPasswordLength="6" ... />
</providers>
</membership>
//文件:Web.config
仔细查看GetAccountController()方法。它实例化一个AccountController,其中IMembershipService指向一个MockMembershipService,其代码如下:
public int MinPasswordLength {
get { return 10; }
}
(在MVC 2默认应用程序中,这是在AccountControllerTest.cs的第290行和第332行中定义的。)您也可以发布AccountController.ChangePassword()代码吗?