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
.
.
.
La mejor manera es mirar directamente en las guías: http://guides.rubyonrails.org/contributing_to_ruby_on_rails.html#running-tests
cd actionmailer
bundle exec ruby -w -Itest test/mail_layout_test.rb -n test_explicit_class_layout
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