RSpec vs. Shoulda?

Soy nuevo en la escena de prueba de la unidad; Sólo he estado usando pruebas unitarias durante aproximadamente 2 meses. Cuando hago una prueba de unidad 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 es un punto intermedio entre los dos marcos. Mi pregunta es, ¿qué marco debería dedicar mi tiempo a RSpec o Shoulda, o debo seguir con Test :: Unit :: TestCase? Cualquier opinión sobre el tema es apreciada.

RSpec tiene muchas características interesantes, más que solo la syntax también. Lo recomendaría por encima de Shoulda.

Incluso Thoughtbot, los autores de Shoulda, están usando RSpec ahora. Shoulda ahora funciona como un complemento de RSpec y proporciona una serie de coincidencias útiles.

Shoulda complementa Test :: Unit y RSpec, así que no creo que sea un caso de elegir Shoulda sobre RSpec, o viceversa. Uso Shoulda en múltiples proyectos, algunos probados con Test :: Unit, otros con RSpec, y funciona muy bien en ambos marcos.

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

Como dice Andrew Vit, el equipo de Shoulda está favoreciendo la forma RSpec de hacer las cosas cada vez más (consulte 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 lo prefiero a Test :: Unit por su syntax, expresividad, contextos nesteds, emparejadores personalizados y simplemente todo el frescor. 😉

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

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