ruby - Ejecutar tareas RSpec en un orden específico
rake (1)
Tengo un montón de tareas de RSpec Rake definidas que me gustaría ejecutar en un orden específico cuando ejecuto todo el conjunto de pruebas.
He intentado algo como esto:
task :run_in_order => [:one, :two, :three] do
puts "Run suite of tests"
end
Y ejecuta la primera prueba y luego se detiene y no ejecuta el resto de las tareas.
Entonces, si usar la sintaxis de Rake no funciona. ¿Hay alguna forma de anotar las dependencias de tareas para las tareas de Rake RSpec?
Consulte este http://blog.davidchelimsky.net/2012/01/04/rspec-28-is-released/
–Order rand Añadimos una opción --order con dos valores admitidos: rand y predeterminado.
rspec --order random (o rand) le dice a RSpec que ejecute los grupos en un orden aleatorio, y luego ejecute los ejemplos dentro de cada grupo en orden aleatorio. Lo implementamos de esta manera (en lugar de la aleatorización completa de cada ejemplo) porque no queremos volver a ejecutar costosos ganchos antes (: todos). Una compensación justa, ya que la aleatorización resultante es igual de efectiva para exponer errores de dependencia de orden.
Cuando usa --ordenar aleatoriamente, RSpec imprime el número aleatorio que utilizó para inicializar el aleatorizador. Cuando crees que has encontrado un error de dependencia de orden, puedes pasar la semilla y la orden se mantendrá consistente:
--order rand: 3455 - el valor predeterminado de la orden le dice a RSpec que cargue grupos y ejemplos a medida que se declaran en cada archivo
Básicamente, debe ordenar sus pruebas en un archivo de especificaciones y luego ejecutarlo con la opción --order default
. .