Как выполнить модульное тестирование метода контроллера, к которому применен атрибут [Authorize]?
Я искал stackoverflow и гуглил четыре пару часов и до сих пор не нашел решения для моей «тривиальной» проблемы.
Если вы пишете модульный тест для вашего отфильтрованного[Authorize] ActionResult
Как вы решаете проблему, чтобы подделать, что пользователь аутентифицирован?
у меня многоActionResult
методы, которые фильтруются с[Authorize]
и я хочу проверить все моиActionResult
методы независимо от того, если они отфильтрованы с[Authorize]
или нет.
Простой пример того, что я имею в виду:
[TestMethod]
public void Create_Get_ReturnsView()
{
// Arrange
var controller = new UserController();
// Act
var result = controller.Create();
// Assert
Assert.IsNotNull(result as ViewResult);
}
[Authorize]
public ActionResult Create()
{
return View("Create");
}
На данный момент тесты даже не попадают в метод ActionResult из-за фильтра [Authorize], исключение:System.NullReferenceException: Object reference not set to an instance of an object.