ruby - test - run rspec rails
¿Cómo aprender TDD con Ruby? (7)
He estado usando ruby exclusivamente durante aproximadamente un mes y realmente me encanta. Sin embargo, me cuesta muchísimo utilizar o incluso aprender TDD. Mi cerebro no funciona así ...
Realmente, realmente quiero aprender TDD pero, para ser honesto, estoy un poco confundido. Todos los artículos que encuentro en Google Googling son principalmente específicos para Rails, lo que no me interesa porque quiero aprender a realizar pruebas eficientes para cualquier aplicación ruby, desde el simple script de un archivo hasta la complicada gema, no para Aplicaciones web Además, hay muchos marcos y muy pocos tutoriales para comenzar.
¿Alguien podría darme algún consejo sobre cómo aprender TDD para que al menos pueda empezar a considerarme un aspirante a rubí?
Es difícil entender tu TDD (y BDD), pero el libro RSpec Book - BDD me ayudó mucho. El desarrollo impulsado por el comportamiento no es exactamente lo mismo que TDD, pero está cerca y hay que pensar de manera similar.
Estoy de acuerdo con las respuestas sobre la lectura de "TDD by Example" de Kent Beck y sobre tener un proyecto real en el que se obligue a hacerlo.
También puede encontrar Volver a lo básico: Escribir pruebas unitarias, lo primero útil como referencia relacionada con Ruby.
La mejor manera de aprender TDD es simplemente haciéndolo. Te sugiero que construyas un nuevo proyecto usando TDD. Esto significa que no escriba ningún código que no sea de prueba a menos que tenga una prueba fallida .
Te hará pensar en escribir pruebas: quiero escribir este código, ¿cómo escribo una prueba para que pueda escribirlo?
Le mostrará la naturaleza en capas de las pruebas. En lugar de desear un nombre que se requiere y no puede contener números. primero probará la configuración y la lectura de un nombre, la prueba que requiere el nombre, la prueba que no debe contener números, que piense si tiene más restricciones y la prueba.
Recuerda:
- Escribe una prueba antes de escribir el código
- Asegúrese de que la prueba falla! Es importante saber que la lógica de las pruebas es correcta.
- Antes de escribir la próxima prueba, asegúrese de que todas las pruebas tengan éxito
- Siempre puede limpiar su código, si las pruebas siguen funcionando, no cambió el diseño
Personalmente, encontré el Peepcode RSpec screencast muy útil, te dan una buena idea de qué probar y además te ayudan a comenzar con RSpec rápidamente. Me tomó un tiempo comenzar con TDD, ¡pero vale la pena!
Pruebe RubyKoans .
Todavía recomiendo TDD por Ejemplo por Kent Beck. Es una lectura fácil y te da todos los conceptos básicos.
Una prueba a la vez. Ese es el único secreto, el resto es solo práctica, aunque tendrás que hacer mucha práctica ;-)
Ya tienes suficiente para empezar: Ruby tiene la biblioteca de test/unit
, que es suficiente para empezar.
Trate de buscar en Google para Ruby test/unit
y Ruby TDD
. Un par de puntos de partida útiles que encontré están here y here .
Comenzaría la práctica con un proyecto completamente nuevo, preferiblemente uno paralelo, en el que puedes progresar más lentamente al principio. Sea realmente estricto: todo el código debe escribirse como resultado de una prueba fallida. Recuerda la tercera parte del mantra "rojo-verde-refactor": pronto te meterás en problemas sin él (confía en mí, he estado allí).
Una vez que sientas que estás empezando a sentirte cómodo con la técnica (una señal puede ser que notas que ya no tienes un ciclo de prueba-código-depuración), entonces comienzas a buscar algunas alternativas: rspec es la principal , pero hay otros ( riot , minitest es el valor predeterminado de Ruby 1.9, si estás en 1.8.x)