2010-08-30 8 views
14

Soy nuevo en la escena de pruebas unitarias; Solo he estado usando pruebas unitarias durante aproximadamente 2 meses. Cuando realizo la prueba unitaria en Ruby, actualmente sigo el estilo TDD y uso Test :: Unit :: TestCase. También he leído sobre RSpec y cómo sigue la metodología BDD. También he leído sobre Shoulda, que está entre los dos marcos. Mi pregunta es, ¿en qué marco debería dedicar mi tiempo a RSpec o Shoulda, o debería seguir con Test :: Unit :: TestCase? Cualquier opinión sobre el tema es apreciada.RSpec vs. Shoulda?

Respuesta

14

RSpec tiene muchas funciones interesantes, además de la sintaxis. Lo recomendaría sobre Shoulda.

Incluso Thoughtbot, los autores de Shoulda, están utilizando RSpec ahora. Shoulda ahora funciona como un complemento de RSpec y proporciona una cantidad de emparejadores útiles.

15

Shoulda complementa Test :: Unit y RSpec, así que no creo que se trate de elegir Shoulda sobre RSpec, o viceversa. Utilizo Shoulda en múltiples proyectos, algunos probados con Test :: Unit, otros con RSpec, y funciona muy bien junto con ambos frameworks.

Recomiendo probar Shoulda en su proyecto existente Test :: Unit. Puede ahorrarle muchos golpes clave y mantener sus clases de prueba un poco más ordenadas y consistentes.

Como dice correctamente Andrew Vit, el equipo de Shoulda está favoreciendo la forma RSpec de hacer las cosas cada vez más (ver http://robots.thoughtbot.com/post/701863189/shoulda-rails3-and-beyond). Vale la pena probar RSpec y ver cómo te gusta. No es del gusto de todos, pero prefiero Test :: Unit por su sintaxis, expresividad, contextos anidados, mezcladores personalizados y ¡toda la calma! ;-)

1

No hay ninguno o ninguno. Use las diferentes herramientas de prueba donde mejor se adaptan.

Shoulda es una gran herramienta de prueba de una sola línea. Le ayuda a mantener sus pruebas limpias y concisas. Si también te gusta este estilo, también te recomiendo la gema Zebra. Es una herramienta pequeña y agradable para escribir pruebas de una sola línea.