Estoy trabajando con una solución ASP.NET MVC de forma controlada por pruebas y deseo iniciar sesión en un usuario de mi aplicación mediante la autenticación de formularios. El código me gustaría terminar con en el controlador ve algo como esto:¿Cómo puedo probar la unidad de mi controlador ASP.NET MVC que usa FormsAuthentication?
FormsAuthentication.SetAuthCookie(userName, false);
Mi pregunta es ¿cómo puedo escribir una prueba para justificar este código?
¿Hay alguna forma de verificar que se haya llamado al método SetAuthCookie con los parámetros correctos?
¿Hay alguna forma de inyectar un FormsAuthentication falso/falso?
+1 en esto, no pruebes los marcos de otras personas, solo TU uso de ELLOS. Hacemos lo mismo (similar) en nuestra aplicación (ajustar cosas de FormsAuth, etc.) – chadmyers
* suspiro * ¡Microsoft está tan orgulloso de que este marco sea TAN comprobable! Esperaba que hubiera alguna forma de burlarse de esto sin envolver. Adivina que no :( – maz
El problema no es que el marco no sea comprobable ... el problema es que la clase FormsAuthentication es anterior al diseño de prueba de la unidad de MVC. Como Darin ha mencionado, la mejor forma de abordar esto es desvincular el Controlador de la clase con los métodos estáticos usando una interfaz . – Jesse