Unit testing ASP.NET MVC-内置单元测试中的密码长度

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

为什么ASP.NET MVC 2项目中此内置单元测试中的最后一个断言通过了

//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()代码吗?