Me doy cuenta de que este es un duplicado de aproximadamente 20 publicaciones diferentes, pero ninguna de ellas es específica de MVC4, y ninguna que he visto realmente responde todas mis preguntas. Hasta ahora, mi primera incursión en el mundo de TDD ha sido frustrante por decir lo menos. La mayoría de lo que he intentado hacer parece incompatible con MVC 4 o casi imposible sin utilizar bibliotecas de terceros mal documentadas que aún no entiendo del todo.Pruebas unitarias ASP.NET MVC 4 aplicaciones a fondo
Lo que quiero poder hacer es escribir unas pruebas que verifiquen mis Acciones de controlador, el modelo que están pasando y La vista a la que la acción está enviando el modelo. Quiero probar si la vista existe, quiero probar si el modelo que se pasa es del tipo correcto para la vista, me gustaría alguna manera de probar si se procesará correctamente. También quiero poder probar mis rutas. ¿Y probar los filtros de autenticación?
Quiero una forma de probar la unidad ASP.Net MVC que dejará muy poco al azar.
Probar el resultado del Modelo de una Acción parece bastante fácil, pero probar las vistas ha sido casi imposible.
Así que aquí está mi lista de preguntas:
- Una vez que pongo a prueba la acción y obtener el resultado de la acción, ¿Cómo se prueba para ver si la vista que quiere existe?
- ¿Cómo puedo probar mis rutas?
- ¿Cómo puedo realizar las pruebas para asegurarme de que mis vistas se procesan correctamente?
- ¿Cuál es realmente la "mejor práctica" para las pruebas de unidad THOROUGH de ASP.Net MVC 4?
- ¿Cómo puedo verificar la autentificación de formularios?
- ¿Cómo puedo probar la unidad de filtros de acción?
Preferiría usar los proyectos de prueba integrados de Visual Studio, pero si debo usar NUnit, debo hacerlo. Solo necesito asegurarme de que se haga correctamente.
Gracias de antemano por sus respuestas.
EDIT:. Tampoco podía conseguir NUnit trabajar con mi aplicación MVC4 a causa de alguna manera incompatible con la versión de .NET uno de los conjuntos fue compilado en
Probablemente sea mejor que busque esas preguntas individualmente. Si no aparece nada, haga una pregunta por separado para cada uno. – mxmissile