Comment puis-je exécuter un seul test à partir d'une suite de tests de rails?
rake test ANYTHING
semble ne pas aider.
ruby-on-rails
unit-testing
rake
artémave
la source
la source
Réponses:
REMARQUE: cela n'exécute pas le test via
rake
. Ainsi, tout code que vous avezRakefile
ne sera PAS exécuté.Pour exécuter un seul test, utilisez la commande suivante à partir du répertoire principal de votre projet rails:
Cela exécute un seul test nommé "nom", défini dans la classe MyModelTest dans le fichier spécifié. Le test_name est formé en prenant le nom du test, en le précédant du mot «test», puis en séparant les mots par des traits de soulignement. Par exemple:
Vous pouvez exécuter les deux tests via:
et juste le deuxième test via
la source
0 tests, 0 assertions, 0 failures, 0 errors
. Rails 3.0.7.-n "/good/"
. L'échappement Shell est toujours amusant, donc j'ai tendance à m'en tenir à de simples expressions rationnelles, mais c'est beaucoup plus facile que d'écrire le nom complet du test tout le temps.test/
dossier. Par exemple, si je veux exécuter le test,activesupport/test/core_ext/array_ext_test.rb
je devrais être leactivesupport/
premier.-n "/good/"
travaillé.Exécutez un fichier de test :
Exécutez un seul test dans un fichier de test:
(D'après le commentaire de @Puhlze.)
la source
rake test TEST=tests/functional/accounts_test.rb TESTOPTS="-n '/paid accounts/'"
(/paid accounts/
avec des guillemets simples)Pour les rails 5:
la source
bin/rails test test/models/user_test.rb:27
Grâce à @James, la réponse semble être:
En supposant que 22 est le numéro de ligne du test donné. Selon l'aide des rails:
Veuillez également noter que votre test doit hériter de ActionDispatch :: IntegrationTest pour que cela fonctionne (c'était mon erreur):
la source
Dans les rails 5,
J'ai utilisé cette façon d'exécuter un seul fichier de test (tous les tests dans un seul fichier)
regardez ici https://stackoverflow.com/a/41183694/3626659
la source
Pour exécuter un seul test dans la suite Rails réelle:
la source
Le meilleur moyen est de consulter directement les guides: http://guides.rubyonrails.org/contributing_to_ruby_on_rails.html#running-tests
la source
C'était une de mes questions idiotes à minuit. Rails imprime gentiment la commande sur laquelle il s'exécute
rake test
. Le reste est un exercice de copier-coller.la source
Si vous souhaitez exécuter un seul test, vous pouvez simplement les exécuter en tant que script Ruby standard
Vous pouvez également exécuter une suite complète (par exemple ActiveRecord ou ActionMailer) en
cd
-ing dans le répertoire et en exécutantrake test
à l' intérieur.la source
require File.join(File.dirname(__FILE__), '..', 'test_helper')
cd
-ing le fait. Juste pour être clair (je ne sais pas si j'ai mal lu ceci, mais vous avez dit "fichiers de test générés"), c'est pour la bibliothèque Rails elle-même, pas pour un projet Rails.Dans ma situation pour
rake
ne fonctionne queTESTOPTS="-n='/sample/'"
:la source
Tout d'abord, accédez au dossier de la bibliothèque que vous souhaitez tester (c'est important) puis exécutez:
la source
Dossier Rails
Notez que vous devez charger le dossier approprié: "activerecord / test" (où vous avez test)
la source