test rails link_to content_tag ruby-on-rails unit-testing rake

ruby-on-rails - link_to - rails content_tag



¿Cómo ejecutar una única prueba desde un conjunto de pruebas de rieles? (10)

¿Cómo puedo ejecutar una sola prueba desde un conjunto de pruebas de rieles?

rake test ANYTHING parece no ser de ayuda.


Ejecute un archivo de prueba :

rake test TEST=tests/functional/accounts_test.rb

Ejecute una única prueba en un archivo de prueba:

rake test TEST=tests/functional/accounts_test.rb TESTOPTS="-n /paid accounts/"

(Del comentario de @Puhlze)


En rieles 5,

Utilicé esta forma para ejecutar un solo archivo de prueba (todas las pruebas en un archivo)

rails test -n /TopicsControllerTest/ -v

mira aquí https://.com/a/41183694/3626659


Esa fue una tonta pregunta de medianoche. Rails imprime amablemente el comando que está ejecutando en la rake test . El resto es un ejercicio de cortar y pegar.

~/projects/rails/actionpack (my2.3.4)$ ruby -I"lib:test" "/usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake/rake_test_loader.rb" "test/controller/base_test.rb"


Gracias a @James, la respuesta parece ser:

rails test test/models/my_model.rb:22

Asumiendo 22 es el número de línea de la prueba dada. Según los carriles, ayuda:

$ rails test --help

Puede ejecutar una única prueba al agregar un número de línea a un nombre de archivo:

bin/rails test test/models/user_test.rb:27

Además, tenga en cuenta que su prueba debe heredar de ActionDispatch :: IntegrationTest para que esto funcione (ese fue mi error):

class NexApiTest < ActionDispatch::IntegrationTest . . .



Para ejecutar una prueba única en la suite real de Rails:

bundle exec ruby -I"railties/test" actionpack/test/template/form_options_helper_test.rb


Para rieles 5:

rails test test/models/my_model.rb


Primero, acceda a la carpeta de la lib que desea probar (esto es importante) y luego ejecute:

~/Projects/rails/actionview (master)$ ruby -I test test/template/number_helper_test.rb


Si desea ejecutar una única prueba, puede ejecutarlos como una secuencia de comandos de Ruby normal

ruby actionmailer/test/mail_layout_test.rb

También puede ejecutar un conjunto completo (por ejemplo, ActiveRecord o ActionMailer) haciendo un cd -ing en el directorio y ejecutando la rake test allí.


NOTA: Esto no ejecuta la prueba vía rake . Por lo tanto, cualquier código que tenga en Rakefile NO se ejecutará.

Para ejecutar una prueba única, use el siguiente comando del directorio principal de su proyecto de rieles:

ruby -I test test/unit/my_model_test.rb -n test_name

Esto ejecuta una única prueba llamada "nombre", definida en la clase MyModelTest en el archivo especificado. El test_name se forma tomando el nombre de la prueba, anteponiéndolo con la palabra "test", luego separando las palabras con guiones bajos. Por ejemplo:

class MyModelTest < ActiveSupport::TestCase test "valid with good attributes" do # do whatever you do end test "invalid with bad attributes" do # do whatever you do end end

Puede ejecutar ambas pruebas a través de:

ruby -I test test/unit/my_model_test.rb

y solo la segunda prueba via

ruby -I test test/unit/my_model_test.rb -n test_invalid_with_bad_attributes