如何嘲弄用户。ASP的标识[用于单元测试]。. NET WebApi ApiControllers?
注意:
一些控制器方法的返回值是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,所以生成假的语法可能对你不同。