168 votes

Comment exécuter un seul test à partir de la suite de tests de rails?

rake test ANYTHING semble pas aider

PS La question concerne les rails eux-mêmes, pas les rails app.

195voto

Darryl Points 2560

Pour exécuter un test simple, utilisez la commande suivante à partir de votre rails de projet de répertoire principal:

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

Cela va d'un simple test nommé "nom", défini dans le MyModelTest classe dans le fichier spécifié. Le test_name est créé en prenant le nom de test, les préfixant avec le mot "test", puis en séparant les mots par des caractères de soulignement. Par exemple:

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

Vous pouvez exécuter les tests via:

ruby -I test test/unit/my_model_test.rb

et le deuxième essai par l'intermédiaire d'

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

137voto

laffuste Points 1742

Essayer:

 rake test TEST=tests/functional/accounts_test.rb
 

5voto

Brian Rose Points 1110

Pour exécuter un seul test dans la suite Rails actuelle:

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

4voto

artemave Points 1934

C'était une question idiote de ma part à minuit. Rails affiche gentiment la commande qu'il exécute à rake test . Le reste est un exercice de copier / coller.

 ~/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"
 

2voto

Aupajo Points 2387

Si vous souhaitez exécuter un seul test, vous pouvez simplement les exécuter en tant que script Ruby standard.

 ruby actionmailer/test/mail_layout_test.rb
 

Vous pouvez également exécuter une suite complète (par exemple, ActiveRecord ou ActionMailer) en cd -ing dans le répertoire et en y exécutant rake test .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X