j'ai changé la ligne suivante:Changer d'utilisateur dans MVC 2 MockHttpContext casse le test?
private readonly IPrincipal _user =
new GenericPrincipal(new GenericIdentity("someUser"), null /* roles */);
à
private readonly IPrincipal _user =
new GenericPrincipal(new GenericIdentity("realUser"), null /* roles */);
et le test vainquit, mais je ne sais pas pourquoi et je ne suis pas sûr de savoir comment le tracer. Je suis nouveau à TDD
[TestMethod]
public void ChangePassword_Post_ReturnsRedirectOnSuccess()
{
// Arrange
AccountController controller = GetAccountController();
ChangePasswordModel model = new ChangePasswordModel()
{
OldPassword = "goodOldPassword",
NewPassword = "goodNewPassword",
ConfirmPassword = "goodNewPassword"
};
// Act
ActionResult result = controller.ChangePassword(model);
// Assert
Assert.IsInstanceOfType(result, typeof(RedirectToRouteResult));
RedirectToRouteResult redirectResult = (RedirectToRouteResult)result;
Assert.AreEqual("ChangePasswordSuccess", redirectResult.RouteValues["action"]);
}
Une explication de la façon dont cela fonctionne et pourquoi changer someUser à realUser romprait le test ci-dessus serait très utile.
Qu'est-ce qui s'est cassé spécifiquement? Le test a jeté une erreur, ou quelle affirmation a échoué? En outre, l'action de changement de mot de passe est-elle la même que celle par défaut? –
Cette affirmation a échoué: Assert.IsInstanceOfType a échoué. Type attendu:. Type réel: . L'action Modifier le mot de passe est celle par défaut fournie. La seule chose que j'ai changé était la chaîne "someUser" à "realUser" –
Xaisoft