ruby tdd bdd

ruby - ¿Cuándo uso MiniTest:: Unit:: TestCase versus MiniTest:: Spec?



tdd bdd (1)

Si uso MiniTest::Unit (con assertions ) en comparación con MiniTest::Spec , está determinado por para quién los estoy escribiendo.

Para el código me escribo, sin ningún requisito de "cliente", usaría MiniTest :: Unit. Las pruebas tienen sentido para mí y leerlas es conciso y preciso.

Si escribo el código para un cliente que tiene una lista de requisitos, usaría MiniTest :: Spec. Los archivos de especificaciones son más legibles para un programador.

Nota: MiniTest se sometió a una revisión el año pasado, por lo que algunos de los nombres de los módulos cambiaron, pero la idea es la misma, MiniTest admite una forma más concisa o más detallada de escribir pruebas unitarias.

He estado aprendiendo TDD / BDD usando MiniTest. Lo que estoy tratando de averiguar es qué partes de mi código se deben probar con MiniTest :: Unit :: TestCase y qué partes se deben probar con MiniTest :: Spec.

Entiendo la diferencia entre la prueba de unidad y la prueba de integración, lo que parece que no puedo entender de los ejemplos en la web es si un TestCase y una Spec son pruebas de unidad o si un TestCase se usa para una prueba de unidad y un Spec. utilizado para pruebas de integración?

¿Debo mantener mis pruebas unitarias rápidas en las clases MiniTest :: Unit :: TestCase y las pruebas de integración más largas, que con más frecuencia describen características, en las expectativas de MiniTest :: Spec? ¿Importa eso, o es una cuestión de preferencia personal?