2008-10-22 17 views
5

Todo el mundo habla de TDD (BDD) en el mundo del desarrollo de Rails (y no solo Rails). Es fácil encontrar mucha información general al respecto, existen bastantes herramientas que puede usar para este propósito y hay muchos (buenos) ejemplos de cómo usarlas.Flujo de trabajo de prueba de Shoulda desde las trincheras

Ahora, ya estoy en el tren. Me gusta la idea (nunca antes había hecho TDD) y decidí buscar a Shoulda (porque me parece bastante fácil de entender). Leí muchos ejemplos y he hecho algunas primeras pruebas. Mi problema es este: no estoy seguro si lo estoy haciendo bien. Como dije, hay muchos ejemplos pequeños en toda la red, pero no he encontrado ninguna guía exhaustiva que cubra el flujo de trabajo general de TDD con Shoulda.

Aquí están mis preguntas:

  • ¿Cuál es su forma de practicar TDD con Shoulda? (¿Cuál es su flujo de trabajo habitual en una iteración?)
  • ¿Qué otras herramientas usa (excepto Shoulda)?
  • ¿Algún otro consejo?

Respuesta

2

Uso RSpec en lugar de shoulda, (aunque creo que debería usarse con RSpec) y la mayor mejora en mi flujo de trabajo proviene de usar Autotest y luego RSpactor.

Estas herramientas supervisan automáticamente el árbol de origen para detectar cambios y ejecutan las pruebas pertinentes si actualizas el archivo de prueba o de implementación. Un cambio bastante pequeño en las prácticas de prueba pero la retroalimentación inmediata ha aumentado mi disciplina al escribir pruebas para cada pieza de funcionalidad.

+0

"autotest" ahora es "autospec" con versiones recientes de RSpec. –

2

+1 para Autotest.

Si tiene un conjunto de pruebas grande y solo desea ejecutar la prueba en la que está trabajando (a diferencia del conjunto de pruebas completo) eche un vistazo a este monkey patch para Autotest.

En cuanto a otras herramientas, debe verificar Factory Girl como reemplazo de los accesorios.

La mayor parte de lo que sé sobre el uso de Shoulda vino leyendo el código de prueba de otros. Vea algunos de los proyectos de Thoughtbot en github, como Clearance y Pacecar.

0

Estoy totalmente de acuerdo en que hay una brecha significativa en la documentación BDD de rieles. Un montón de pequeños ejemplos, pero no grandes que dan una idea general de cómo hacerlo. Incluso los libros que tienen capítulos sobre pruebas son culpables de esto. Los únicos ejemplos completos que he visto son los tres fragmentos de screencast de peepcode en rspec y un video sobre los confreaks sobre flex mock.

Me encantaría conocer otros buenos recursos en BDD que van más allá de los ejemplos menores de sintaxis y me gustaría ver un libro sobre el tema.