单元测试 – 如何在ASP MVC 5(Microsoft.AspNet.Identity)中存储User.Identi
发布时间:2020-12-04 23:06:41 所属栏目:asp.Net 来源:互联网
导读:如何在ASP MVC 5(Microsoft.AspNet.Identity)中存储User.Identity.GetUserId(),以进行MVC5控制器的单元测试? GetUserId()是一个扩展名,所以我不能直接模拟它.我需要在测试之前分配Id. 您似乎必须创建一个声明并将其分配给GenericIdentity.但是,单元测试看起
如何在ASP MVC 5(Microsoft.AspNet.Identity)中存储User.Identity.GetUserId(),以进行MVC5控制器的单元测试? GetUserId()是一个扩展名,所以我不能直接模拟它.我需要在测试之前分配Id.
解决方法非常感谢你的想法.我正在使用NSubstitute.我没有Microsoft Fakes和JustMock.所以我结束了直接对GenericIdentity的索赔,所以我可以控制UserId的值:string username = "username"; string userid = Guid.NewGuid().ToString("N"); //could be a constant List<Claim> claims = new List<Claim>{ new Claim("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name",username),new Claim("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier",userid) }; var genericIdentity = new GenericIdentity(""); genericIdentity.AddClaims(claims); var genericPrincipal = new GenericPrincipal(genericIdentity,new string[] { "Asegurado" }); controllerContext.HttpContext.User = genericPrincipal; (编辑:莱芜站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net+ajaxfileupload.js 实现文件异步上传代码分享
- asp.net-mvc – 当Bundling EnableOptimizations为true时,F
- asp.net-mvc – ASP.NET MVC/C++#:可以使用Html.ActionLin
- asp.net核心 – 如何排除在ASP.NET Core中发布文件?
- asp.net – 将ViewState移出页面?
- asp.net-mvc – 使用Razor视图引擎 – 如何格式化十进制值以
- asp.net – 哪个控件导致回发?
- asp.net – 如何从WCF客户端拦截raw soap request / respon
- asp.net – 在为app_offline.htm提供特定URL时,将http状态5
- asp.net – 将Eval参数从ASPX文件传递给JavaScript函数
推荐文章
站长推荐
- asp.net-mvc – 如何在我自己的自定义助手中使用
- AJAX分页的代码(后台asp.net)
- dependency-injection – 从ILogger访问当前的Ht
- asp.net-mvc – 我可以获取html.HiddenFor / Htm
- ASP.NET设计网络硬盘之删除文件夹实现代码
- ASP.NET API(MVC) 对APP接口(Json格式)接收数据与
- 充分利用ASP.NET的三种缓存提高站点性能的注意方
- asp.net使用DataTable构造Json字符串的方法
- asp.net – 如何以编程方式从LDAP检索信息
- ASP.NET web.config中数据库连接字符串connectio
热点阅读