Я пытаюсь издеваться над IPrinciple (поскольку у меня было действие контроллера, которое использовало User.Identity.Name
, для которого я хотел бы написать модульный тест) в моем модульном тесте (используя предварительный просмотр. net 5). Ссылаясь на ответ в на этот вопрос , в моем модульном тесте есть следующее.
var user = new ClaimsPrincipal(new ClaimsIdentity(new Claim[]
{
new Claim(ClaimTypes.Name, userName),
}, "mock"));
userController.ControllerContext = new ControllerContext()
{
HttpContext = new DefaultHttpContext() { User = user }
};
Однако я получаю следующую ошибку.
Reference to type 'HttpContextBase' claims it is defined in 'System.Web', but it could not be found
Я видел аналогичный вопрос здесь , но ответ указывает на изменение целевой версии. Интересно, есть ли выход без смены целевой версии.