A dos partes con una introducción rápida. Introducción: voy a Ruby de Perl, y estoy un poco perdido entre las opciones del marco de prueba. Entiendo que probablemente no haya una sola opción completa , pero ni siquiera puedo tener una idea clara del campo de juego.¿Hay consenso sobre los frameworks de prueba para Ruby 1.9.x?
Entonces, primero, MiniTest o Test :: Unit? Me acabo de dar cuenta de que 1.9.1 está por defecto en MiniTest ahora. No me había dado cuenta ya que todos los tutoriales anteriores de Test :: Unit aún funcionan bien. Si tiene require test/unit
, en realidad obtiene MiniTest como emulador Test :: Unit (!). Mi primer pensamiento fue ir con la opción predeterminada de MiniTest (una vez que sabía que estaba allí), pero incluso los libros más recientes no parecen interesados en enseñarlo. Ruby Best Practices dice "Hay diferencias significativas" entre los dos, pero elige no tratar con ellos. También ejecuta todas sus pruebas a través de Test :: Unit (más algunos complementos personalizados). El nuevo Pickaxe también tiene muy poco acerca de MiniTest per se, y en el capítulo sobre pruebas también usan la versión de emulación Test :: Unit de MiniTest. Para aclarar mi primera pregunta, entonces: ¿es MiniTest una primera opción pobre? ¿Debería usar el emulador Test :: Unit de manera predeterminada?
En segundo lugar, más allá de las opciones incorporadas, hay una empresa Rspec, Cucumber & para realizar pruebas basadas en el comportamiento. ¿La comunidad está inclinándose fuertemente hacia este estilo y este marco? ¿Debería comenzar con Rspec?
Jugaré un poco con las tres, pero tengo curiosidad por saber qué tipo de consenso (si existe) se está formando alrededor de las pruebas en Ruby 1.9.
(Un seguimiento rápido, como un recordatorio para mí mismo y para cualquier persona interesada. Ver this link para un panorama útil de las diferentes invocaciones de Test :: Unidad y Minitest en los diversos rubíes 1.8 a 1.9.1.)
Shoulda no es una buena idea en este momento. RSpec Matchers o Minitest son más "a prueba de futuro". Acabamos de cambiar nuestra aplicación de Shoulda a Minitest y valió la pena. –