Comment exécuter un seul test de contexte shoulda dans ruby ??Test :: Unit framework
-
10-07-2019 - |
Question
Je peux généralement tester une méthode Test :: Unit normale à l'aide de la syntaxe de ligne de commande suivante pour une méthode "delete_test_utilisateur_test":
.ruby functional/user_controller_test.rb -n delete_user_test
Maintenant, lorsque j'utilise le plugin shoulda avec Test :: Unit, j'essaie d'utiliser la même technique que celle décrite ci-dessous:
...
context "Deleting a User" do
should "remove user from user table" do
...
end
end
J'essaie ensuite d'exécuter le test unique comme suit:
ruby functional/user_controller_test.rb -n "test: Deleting a User should remove user from user table"
Cela ne fonctionne pas. Est-ce que quelqu'un sait comment je peux exécuter un seul test de contexte en utilisant shoulda et Test :: Unit. J'ai un couple de tests différents dans un fichier de test et je veux uniquement exécuter celui utilisant TDD sans attendre que tous les tests soient exécutés.
La solution
Cela fonctionne pour moi:
ruby functional/user_controller_test.rb -n "/Deleting a User/"
Il suffit de placer une chaîne assez longue de votre nom de contexte dans l'expression régulière.
Autres conseils
Utiliser le nom complet du test avec un espace à la fin semble également fonctionner:
ruby -Itest
functional/user_controller_test.rb
-n "test: Deleting a user should remove user from user table. "
La combinaison des deux approches a bien fonctionné pour moi; en utilisant à la fois -I test
et l'expression rationnelle.
ruby -Itest functional/user_controller_teset.rb -n "/remove user from user table/"