单元测试 – 如何在ASP MVC 5(Microsoft.AspNet.Identity)中存储User.Identi
发布时间:2020-12-04 23:43:11 所属栏目: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-mvc-4 – MVC4捆绑GZIP和头文件
- asp.net – 我可以愚弄HttpRequest.Current.Request.IsLoca
- asp.net-mvc – SSL握手问题? (当时:网页挂起,只清除浏览
- Jquery 组合form元素为json格式,asp.net反序列化
- 在ASP.NET 2.0中的特定时间清除缓存
- asp.net通过Ajax UpdatePanel回传后滚动条位置变更解决方法
- asp.net-mvc – 在ASP.NET MVC中添加服务引用4
- ASP.net WebAPI跨域调用问题的解决方法
- 在HiddenField asp.net中存储一个字符串数组
- asp.net – ASP:ItemTemplate中的DropDownList:为什么允许
推荐文章
站长推荐
- asp.net-identity交易问题
- 在ASP.NET中拒绝用户时,’CustomIdentity’上的S
- asp.net-mvc – DotNetOpenAuth在ASP.NET MVC中的
- asp.net-mvc – 具有ASP.NET MVC的多语言网站
- ASP.NET JSON字符串与实体类的互转换示例代码
- WPF的Page介绍及Page Window Frame 之间的链接使
- asp.net-mvc-4 – 如何在asp.net MVC4查看页面中
- asp.net-mvc – System.Web.Mvc.WebViewPage.Mod
- 对asp.net网站进行基准测试,我可以使用jmeter吗?
- asp.net – GetExternalLoginInfoAsync()loginIn
热点阅读
