asp.net-mvc – ASP.NET MVC单元测试 – 会话
发布时间:2020-12-16 00:38:42 所属栏目:asp.Net 来源:网络整理
导读:搜索了StackOverflow,Google认为我在做的是假设是正确的,但是结果似乎并不顺利 [TestMethod] public void LoginAction_Should_Return_View_and_User_Authenticated() { // Arrange var mock = new MockControllerContext(); var mockSession = new MockHtt
搜索了StackOverflow,Google认为我在做的是假设是正确的,但是结果似乎并不顺利
[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)); } 当我运行测试时,controller.HttpContext.Session [“Username”]的值为null,但是我使用Session帮助器将该值设置为用户名。我做的事情完全错了,还是别的什么?任何帮助将不胜感激。 解决方法
使用Mock.Verify检查底层代码是否尝试设置Session [“Username”]。
如果你的代码需要设置会话变量并使用它 – 看看here。 Quickstart也是无价之宝。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ASP.NET MVC配置客户端单点登录CAS
- ASP.NET主题图像
- asp.net-mvc – 使用mvc.net可以在多个操作之间共享视图
- Asp.net Mvc表单验证气泡提示效果
- go语言-字符串的方法
- asp.net – 直接将.aspx转换为.pdf [已关闭]
- entity-framework – 从Entity Framework 6升级到EF Core
- ASP.NET Dropdownlist selectedindexchanged事件未在向上/向
- asp.net-mvc-3 – ViewBag在Extension Class中返回null
- asp.net-mvc – MVC 4中app.config的等价物