2011-03-01 14 views
5

Me he dado cuenta de que realmente necesito comenzar con los comportamientos y patrones relacionados con las pruebas unitarias en general y con ruby ​​específicamente, ya que entonces puedo migrar ese conocimiento a otros idiomas ¿Hay realmente buenos ejemplos sobre cómo comenzar? El problema que tengo es que con los sistemas actuales que estoy usando y trabajando parece que comenzar con la prueba unitaria es insuperable.Pruebas unitarias para un principiante absoluto - Estoy usando Ruby

Nunca he creado una única prueba de unidad para el código operativo, aparte de probar los mismos quince tutoriales en línea que muestran que las clases principales de ruby ​​parecen funcionar bien. Necesito saber cómo construir estas pruebas para mis propios sistemas y la mentalidad de qué buscar y probar.

¿Qué buenos tutoriales hay en línea que muestran cómo hacer algo más que simplemente probar que un assert_true es verdadero y el opuesto es falso? Incluso si no son para ruby, ¿qué debo leer y debo experimentar la guía de pruebas unitarias si leo o repaso? Preferiblemente uno con un tutorial paso a paso.

¿Le gustaría utilizar estas pruebas de unidades en los modelos y marcos existentes y en qué probar realmente? Todavía estoy tratando de entender mi mentalidad de prueba y me sigo desviando de los diferentes elementos. Nadie describió específicamente con qué mentalidad necesitas acercarte a las pruebas unitarias, ya que todos aquellos que tienen guías escritas o tutoriales parecen haber internalizado la lógica con la que te acercas al sistema.

Cualquier ayuda sería muy apreciada.

Respuesta

3

Técnicamente es BDD, pero yo recomendaría The RSpec Book porque hace un buen trabajo de los conceptos que explican y se ha extendido tutoriales. La segunda sección del libro cubre Pepino, por lo que también te enseñará eso.

1

Es muy fácil desviarse del camino y entrar en detalles como herramientas de cobertura de código como rcov e incluso herramientas más detalladas como heckle, flog, flay. Estas herramientas son geniales y rastrean errores, pero deben ser secundarias a las pruebas unitarias relacionadas con el diseño y la documentación.

Siento que esto lo resume - Desde la página de agile TDD

  • "El acto de escribir una prueba unitaria es más un acto de diseño que de verificación".
  • "También es más un acto de la documentación de la verificación"
+2

Las pruebas unitarias no son TDD y TDD no es una prueba unitaria. TDD usa herramientas de pruebas unitarias para crear especificaciones del resultado deseado. Las pruebas unitarias ponen a prueba la unidad más pequeña racionalmente comprobable. Como usted señaló: TDD no es una metodología de prueba en absoluto y no debe considerarse como tal. –