asp.net-mvc – 如何在ASP.NET MVC中测试动作过滤器?
发布时间:2020-05-24 03:53:34 所属栏目:asp.Net 来源:互联网
导读:需要一些指针.发现 this和 this,但我仍然很困惑. 我只是想模拟ActionExecutedContext,传递它,让过滤器工作一下,检查结果. 任何帮助? 过滤器来源可以找到here (它改变了一点,但这不是现在的一点). 所以 – 我想要单元测试,RememberUrl过滤器足够聪明,可以保存
|
需要一些指针.发现 this和 this,但我仍然很困惑. 我只是想模拟ActionExecutedContext,传递它,让过滤器工作一下,检查结果. 任何帮助? 过滤器来源可以找到here 所以 – 我想要单元测试,RememberUrl过滤器足够聪明,可以保存会话中的当前URL. 解决方法1)Mocking Request.Url in ActionExecutedContext:var request = new Mock<HttpRequestBase>();
request.SetupGet(r => r.HttpMethod).Returns("GET");
request.SetupGet(r => r.Url).Returns(new Uri("http://somesite/action"));
var httpContext = new Mock<HttpContextBase>();
httpContext.SetupGet(c => c.Request).Returns(request.Object);
var actionExecutedContext = new Mock<ActionExecutedContext>();
actionExecutedContext.SetupGet(c => c.HttpContext).Returns(httpContext.Object);
2)假设您在RememberUrlAttribute的公共构造函数中注入会话包装器. var rememberUrl = new RememberUrlAttribute(yourSessionWrapper); rememberUrl.OnActionExecuted(actionExecutedContext.Object); // Then check what is in your SessionWrapper (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 使用web.config进行密码保护的文件夹
- .net – 传递的主键值的数量必须与实体上定义的主键值的数量
- asp.net-mvc-3 – 从ASP的Ajax.ActionLink获取JSonResult
- asp.net – Web.config加密错误
- .NET的标记SO如何在飞行中呈现?
- asp.net-mvc-3 – 大量使用ViewBag
- asp.net – UserControl有IsPostBack,但是Control没有
- asp.net – 如何以编程方式从LDAP检索信息
- asp.net-core – ASP.NET核心MVC应用程序设置
- 如何为高使用率的ASP.NET应用程序重新平衡SQL Server 2008?
推荐文章
站长推荐
- asp.net-mvc-3 – 如何从控制器设置布局
- asp.net-mvc – 更改项目URL Visual Studio
- asp.net – Fulltext Query String的全文查询参数
- asp.net – Visual Studio和C#的竞争对手
- asp.net-core – ASP.NET 5中RegisterObject / Q
- asp.net-mvc – 与ASP.NET MVC等效的GetWebResou
- asp.net-mvc – 如何在ASP.NET MVC Web API中将U
- asp.net – IIS 7.5和ASP .NET 2.0
- asp.net – 按IN子句排序SQL Server结果
- asp.net – 如何告诉IIS 6将.NET版本设置为2.0(不
热点阅读
