vscode visual temas tag studio para color code closing brackethighlighter autocompletar visual-studio-2010 visual-studio unit-testing asp.net-mvc-4 tdd

visual-studio-2010 - temas - visual studio code autocomplete html



Pruebas unitarias ASP.Net MVC 4 aplicaciones a fondo (1)

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 de las 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.

Lo que quiero poder hacer es escribir unas pruebas que verifiquen las acciones de mi 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 prueba unitaria 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:

  1. Una vez que pruebo la acción y obtengo el resultado de la acción, ¿cómo pruebo para ver si la vista que quiere existe?
  2. ¿Cómo pruebo mis rutas?
  3. ¿Cómo puedo probar para asegurarme de que mis puntos de vista se procesen correctamente?
  4. ¿Cuál es realmente la "mejor práctica" para las pruebas de unidad THOROUGH de ASP.Net MVC 4?
  5. ¿Cómo puedo autenticar los formularios de autenticación?
  6. ¿Cómo pruebo los filtros de acción de la unidad?

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.

EDITAR: Tampoco pude hacer funcionar NUnit con mi aplicación MVC4 debido a incompatibilidad con la versión de .NET en la que se compiló uno de los ensamblajes.


  1. Asegurándose de que exista una vista
  2. http://haacked.com/archive/2007/12/17/testing-routes-in-asp.net-mvc.aspx/
  3. http://blog.davidebbo.com/2011/06/unit-test-your-mvc-views-using-razor.html
  4. vea abajo
  5. ¿Cómo puedo probar la unidad de mi controlador ASP.NET MVC que usa FormsAuthentication?
  6. ¿Cómo probar filtros de acción en ASP.NET MVC?

no. 4: Esta es una pregunta difícil. ¿Cómo se puede probar algo completamente ? Personalmente, realmente no pruebo los puntos de vista, a excepción de los 3 principales navegadores y mis dos ojos, ya que es difícil probar un sitio web y todos sus componentes sin usarlo realmente. Tiene JavaScript activado, CSS estilizado, y se ve diferente en diferentes navegadores. Entonces, para mí, parece que probar la vista es una parte menor de la usabilidad general de su sitio. Si está desarrollando un informe simple basado en tablas de datos financieros, pruebe esos datos con fuerza. Si su punto de vista es la base de un sofisticado sitio Ajax, tal vez no pruebe tanto el HTML como la experiencia. Sé que no es una respuesta fácil, sin complicaciones, pero el nivel aceptable de cobertura siempre implica compensaciones.