ASP.NET MVC Tests Unitaires - Sessions
Avoir cherché StackOverflow, et Google, je pense que ce que je fais est supposé être droit, néanmoins, les résultats ne semblent pas aller bien
[TestMethod]
public void LoginAction_Should_Return_View_and_User_Authenticated()
{
//Arrange
var mock = new Mock<ControllerContext>();
var mockSession = new Mock<HttpSessionStateBase>();
mock.Setup(p => p.HttpContext.Session).Returns(mockSession.Object);
var testData = FakeUserData.CreateTestUsers();
var repository = new FakeUserRepository(testData);
var controller = new AccountController(repository);
controller.ControllerContext = mock.Object;
//Act
var result = controller.Login("testuser1", "testuser1");
//Assert
Assert.AreEqual("testuser1", controller.HttpContext.Session["Username"]);
Assert.IsTrue((bool)controller.HttpContext.Session["IsAuthenticated"]);
Assert.IsInstanceOfType(result, typeof(RedirectToRouteResult));
}
Quand je lance le test de la valeur du contrôleur.HttpContext.Session["Username"] est null, cependant j'ai défini la valeur du nom de l'utilisateur à l'aide d'un assistant Session. Suis-je en train de faire quelque chose de complètement faux, ou quelque chose d'autre? Toute aide serait grandement appréciée.
- Merci pour montrer comment, à se moquer d'un contrôleur de Session 🙂
Vous devez vous connecter pour publier un commentaire.
Utiliser La Maquette.Vérifiez pour vérifier si le code sous-jacent essayé de mettre en Session["Username"].
Si votre code doit définir une variable de session et de l'utiliser prendre un coup d'oeil ici.
Démarrage rapide est inestimable trop.