2009-04-24 9 views
11

¿Dónde puedo encontrar un buen tutorial sobre TDD con ASP.NET MVC 1.0? Preferiría un video tutorial, pero un tutorial de texto estaría bien también. Tengo un nuevo proyecto que comienza pronto y quiero comenzar con el pie derecho.TDD con ASP.NET MVC 1.0

Respuesta

2

Echa un vistazo here. El frente de la tienda MVC es altamente recomendado.

4

Cualquier tutorial sobre TDD será útil para MVC. He estado haciendo TDD por algún tiempo y descubrí que era una transición natural en MVC. Hay algunas peculiaridades que he encontrado que deben abordarse.

  1. A menudo se necesita para burlarse de la HttpContext, lo que significa que es necesario asignar un ControllerContext al controlador después de que ha creado ya que es la única manera de inyectar la maqueta. El contexto se usará para proporcionar los objetos Session, Request y Response en el controlador (también se burlan de ellos). Las nuevas clases HttpContextBase, HttpSessionStateBase, ... hacen que esto sea mucho más fácil de hacer.

  2. Debido a (1), invierta algún tiempo en armar algunas clases de ayuda en una biblioteca de clases separada que pueda ser utilizada por todos sus proyectos de prueba. Estas clases de ayuda deberían contener métodos que proporcionen métodos configurables (o múltiples para proporcionar configuraciones específicas) de los contextos falsos. Esto ayudará a mantener sus pruebas compactas.

  3. Utilice y asigne un ValueProvider para probar métodos que aceptan parámetros si no está utilizando ModelBinding (con los parámetros correspondientes en la firma) para una acción de controlador. Esto le permitirá usar TryUpdateModel/UpdateModel sin agregar código a su controlador para obtener datos de la Solicitud en esos métodos.

  4. Utilice un marco de burla, si eso no es obvio desde arriba. Será mucho más fácil escribir sus pruebas si se burlan de las dependencias. Escribir tus propios burlas, IMO, no vale la pena, aunque sé que otros no comparten esa opinión. Supongo que esto no es exclusivo de MVC, pero pensé que lo mencionaría.

  5. Configure un conjunto separado de pruebas que usan la reflexión para probar que los atributos apropiados con las propiedades adecuadas se están estableciendo en sus métodos. MVC hace un uso intensivo de los atributos de seguridad y otros aspectos transversales. Estos deben ser probados también.