Mientras practicaba algo de TDD en el trabajo para un proyecto ASP.Net MVC, encontré una serie de escenarios en los que estaba escribiendo pruebas para asegurar que determinadas acciones devolvían las vistas correctas o tenían atributos particulares en ellas ([ChildActionOnly]
, etc.). (De hecho, encontré una cantidad de publicaciones interesantes aquí SO sobre métodos de extensión útiles para ayudar a lograr esto).MVC - Unidad probando las cosas incorrectas?
Cuando tuve mi primer contacto con los conceptos de la unidad de pruebas y TDD cuando en un curso hace unos años, el énfasis se basa en gran medida de que las pruebas deberían concentrarse en circuito de comprobación detrás de las características deseado por el usuario y la funcionalidad - los 'requisitos' del proyecto central si se quiere.
Mi pregunta es: si este es el caso, ¿las pruebas de nivel inferior están buscando el archivo de vista correcto, o una acción con un atributo particular, etc. que realmente no abarca de qué se trata la metodología de pruebas unitarias? ¿Estoy escribiendo pruebas por las razones equivocadas (es decir, simplemente para protegerme a mí mismo y a otros colegas de cometer un error de refactorización) o son estos casos válidos de valiosas pruebas unitarias?
Me limitaré a señalar que en lugar de "proteger" a los colegas, su tiempo probablemente sería mejor pasar "instruyéndolos". Sus colegas son probablemente agudos, y con un poco de instrucción, todos terminarán mucho mejor. No estoy diciendo que no a la prueba de unidad, sin embargo ... siempre es bueno tener pruebas de regresión después de hacer cambios. –