Puedo ejecutar todas las pruebas en un solo archivo con:
rake test TEST=path/to/test_file.rbSin embargo, si quiero ejecutar solo una prueba en ese archivo, ¿cómo lo haría?
Estoy buscando una funcionalidad similar a:
rspec path/to/test_file.rb -l 25
                    
                        ruby
                                ruby-on-rails-3
                                minitest
                                
                    
                    
                        Josiah Kiehl
fuente
                
                fuente

rails test path/to/test_file.rb:25ver @Derek_Hill ans - tomado de guides.rubyonrails.org/testing.html#the-rails-test-runnerRespuestas:
¡Sip! Usa la gema "m" de Nick Quaranto . Con ella puedes decir:
fuente
mActualmente no funciona este Minitest 5.0 .El comando debe ser:
fuente
TESTOPTS=...fuera-v?Has probado:
fuente
specify {}? Esos solo aparecen comotest_0001_anonymous... y podría haber múltiplestest_0001_anonymouss si se usa la misma sintaxis en múltiples bloques de descripción ... ¿alguna sugerencia para ejecutar pruebas individuales en este tipo de entorno?cannot load such file -- test_helper.ruby -Itest path/to/tc_file.rb --name test_method_namecomo stackoverflow.com/a/15714985/327786bundle exec ruby -I lib path/to --name test_fitNo se requiere gema:
ruby -Itest test/lib/test.rb --name /some_test/Fuente: http://blog.arvidandersson.se/2012/03/28/minimalicous-testing-in-ruby-1-9
fuente
Esta es una de las cosas que me preocupan
string name definitionen las pruebas.Cuando tengas:
siempre sabes cómo se llama tu prueba para que puedas ejecutarla así:
Pero cuando tienes algo como:
nunca está seguro de cómo se denomina internamente esta prueba, por lo que no puede usar la
-nopción directamente.Para saber cómo se nombra internamente esta prueba, solo tiene una opción: ejecutar todo el archivo para tratar de averiguar cómo buscar en los registros.
Mi solución es (temporalmente) agregar algo al nombre de prueba muy exclusivo como:
y luego use la versión RegEx del parámetro '-n' como:
fuente
__method__dentro del contexto del método que se está ejecutando actualmente (su prueba, en este caso). La implementación actual da como resultado algo así"does not break my stuff".gsub(" ", "_").prepend("test_"). Luego ejecute, por ejemploruby -Itest test/integration/stuff_flow_test.rb --name test_does_not_break_my_stuff,.Si está utilizando MiniTest con Rails 5+, la mejor manera de ejecutar todas las pruebas en un solo archivo es:
Y para una sola prueba (por ejemplo, en la línea 25):
Ver http://guides.rubyonrails.org/testing.html#the-rails-test-runner
fuente
Puede usar esto para ejecutar un solo archivo:
Yo tambien uso
Para una mejor visualización.
fuente
Hay 2 formas de hacerlo:
Rake::TestTaskobjetivo para usar un cargador de pruebas diferente.Rake::TestTask(del rastrillo 0.8.7) teóricamente es capaz de pasar opciones adicionales aMiniTest::Unitcon"TESTOPTS=blah-blah"opción de línea de comando, por ejemplo:En la práctica, la opción
--name(un filtro para los nombres de las pruebas) no funcionará debido a las características internas del rastrillo. Para solucionarlo, deberá escribir un pequeño parche de mono en su Rakefile:Este parche requiere que crees un archivo
test/my-minitest-loader.rb:Para imprimir todas las opciones posibles para Minitest, escriba
fuente
rake(0.9.2) y no se requiere parche de mono.TESTOPTS="--name test_foobar"no funciona, peroTESTOPTS="--name=test_foobar"funciona.Puede pasar
--namepara ejecutar una prueba por su nombre o un número dentro de su nombre:p.ej:
Esta bandera está documentada en el archivo README de Minitest .
fuente
Si está usando Turn gem with minitest, solo asegúrese de usar la
Turn.config.patternopción ya que Turn Minitest runner no respeta la opción --name en los ARG.fuente
nameopción. ¡Gracias! Como ese turno ya no se mantiene, planeo migrar a reporteros másNo es una joya que hace exactamente eso:
minitest-line.de https://github.com/judofyr/minitest-line#minitest-line
fuente
yo suelo
ruby /path/to/test -n /distinguishable word/Editar:
-nes una abreviatura de--name.distinguishable wordpuede ser cualquier cadena que coloque en la descripción de la prueba, por lo general uso alguna palabra aleatoria que sé que no estará presente en las descripciones de otras pruebas.fuente
-nparámetro?--name. Solo una cosa de conveniencia. Especialmente útil con / regex /, generalmente solo pongo una palabra aleatoria en el nombre de una prueba (que sé que no estará presente en las descripciones de otras pruebas).Siguiente funcionará
Esto puede correr por
fuente
rails test path/to/test_file.rb:25lo haréfuente