Estoy en un punto en el que me gustaría comenzar a escribir pruebas unitarias para mi aplicación MVC. Ya he descubierto cómo probar el controlador por unidad y puedo probar de forma unitaria las bibliotecas de negocios subyacentes sin ningún problema. Estoy que se despegue en un par de artículos embargo:¿Cómo puedo probar las vistas de prueba y los atributos de autorización de mi aplicación asp.net mvc en nUnit?
¿Cómo unidad de prueba de mis puntos de vista? Es decir, después de que un controlador haya devuelto la vista correcta (que he probado en la unidad, junto con la prueba unitaria para verificar que transmita los datos correctos). ¿Existe alguna manera de probar la unidad que la vista muestra los datos correctos en los campos correctos en nUnit o necesito una herramienta diferente para este propósito?
¿Cómo compruebo la unidad de la seguridad? Estoy utilizando un proveedor de membresía personalizado y un proveedor de roles que, en sí mismos, supongo que se pueden probar por unidad como cualquier otro componente: simplemente reactivar el proveedor y verificar que cada uno de los métodos arroje el resultado esperado. Lo que me llama la atención es cómo comprobar por unidad que cada uno de mis métodos de control está recibiendo la información de seguridad correcta de mis proveedores [es decir prueba unitaria de que el atributo Autorizar funciona correctamente]?
Para los controladores y hacia abajo, tiendo a usar nUnit: ya estoy familiarizado con las pruebas unitarias a nivel de biblioteca, así que eso no es un problema. Admitiré que nunca he oído hablar de Slim o StoryTeller, así que los revisaré. Sin embargo, revisaré Selenium para ver la vista. – BobTheBuilder
Selenium RC ciertamente parece interesante. No se me ocurrió que las pruebas unitarias se realizarían en el navegador mismo. Mi percepción original era que la prueba unitaria se ejecutaría en nUnit en la salida HTTP. – BobTheBuilder
Desea una separación clara de inquietudes incluso en las pruebas de su unidad. Normalmente no dejo que mis pruebas de unidad (Nunit, MsTest, etc.) toquen la base de datos ni nada que no sea el tema actual bajo prueba. Fit, FitNesse, Slim y StoryTeller son excelentes para las pruebas de integración, pero no deben usarse para pruebas unitarias. Probar la interfaz de usuario debe ser muy superficial y solo debe probar que la interfaz de usuario hace lo que se supone que debe hacer. No debe bajo ninguna circunstancia verificar cosas debajo del capó (es decir, base de datos, controladores, etc.) – Josh