您如何模拟 ASP.NET WebApi ApiControllers 的 User.Identity [用于单元测试]?
笔记:
一些控制器方法返回是aync [Task]
在不同的线程上运行
您如何模拟 ASP.NET WebApi ApiControllers 的 User.Identity [用于单元测试]?
笔记:
一些控制器方法返回是aync [Task]
在不同的线程上运行
我必须为 MVC 控制器测试做类似的事情。我最终做的是将一个假 HttpContext 附加到控制器,然后将一个 GenericPrincipal 附加到假上下文。
var myController = new SomeController();
var context = A.Fake<HttpContextBase>();
ControllerContext context = new ControllerContext( new RequestContext( context, new RouteData() ), myController );
myController.ControllerContext = context;
myController.HttpContext.User = new GenericPrincipal( new GenericIdentity( "bob" ), null );
我正在使用 FakeItEasy,所以生成假货的语法对你来说可能不同。