模拟用户.ASP中的身份.. NET WebApi控制器



如何嘲弄用户。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,所以生成假的语法可能对你不同。

最新更新