Пользователь, к которому вы пытаетесь обратиться в вашем контроллере, находится в HttpContext, поэтому вы можете создать DefaultHttpContext для тестируемого контроллера и связать ClaimsPrincipal с этим DefaultHttpContext, как показано в следующем примере:
var fakeClaims = new List<Claim>()
{
new Claim(ClaimTypes.Name, "name"),
new Claim("RoleId", "1"),
new Claim("UserName", "John")
};
var fakeIdentity = new ClaimsIdentity(fakeClaims, "TestAuthType");
var fakeClaimsPrincipal = new ClaimsPrincipal(fakeIdentity);
ControllerToTest controller = new ControllerToTest();
ControllerToTest.ControllerContext.HttpContext = new DefaultHttpContext
{
User = fakeClaimsPrincipal
};
ControllerToTest.Get();
Вы также можете издеваться над HttpContext согласно этому примеру