¿Cómo puedo probar en unidad un método de controlador que tiene aplicado el atributo [Autorizar]?

He buscado stackoverflow y busqué en Google cuatro horas y aún no encontré ninguna solución para mi problema "trivial".

Si escribes test unitario para tu filtrado.[Authorize] ActionResult, ¿cómo resolver el problema para falsificar que el usuario es autenticado?

Tengo mucho deActionResult Métodos que se filtran con[Authorize] y quiero probar toda miActionResult métodos independientemente si se filtran con[Authorize] o no.

Un ejemplo simple de lo que quiero decir:

[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");
}

A partir de ahora, las pruebas ni siquiera llegan al método ActionResult debido al filtro [Autorizar], la excepción lanzada es:System.NullReferenceException: Object reference not set to an instance of an object.

Respuestas a la pregunta(1)

Su respuesta a la pregunta