2009-10-29 6 views
19

je peux généralement tester un test régulier :: méthode de l'unité en utilisant la syntaxe de ligne de commande suivante pour une méthode « delete_user_test »:Comment exécuter un test de contexte Shoulda en Ruby Test :: cadre de l'unité

ruby functional/user_controller_test.rb -n delete_user_test 

Maintenant, quand J'utilise le plugin Shoulda avec test :: Unit J'essaie d'utiliser la même technique comme suit:

... 
context "Deleting a User" do 
    should "remove user from user table" do 
    ... 
    end 
end 

Alors je tente de lancer 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 test différent dans un fichier de test et je veux seulement exécuter celui en utilisant TDD sans avoir à attendre que tous les tests soient exécutés.

Répondre

33

Cela fonctionne pour moi:

ruby functional/user_controller_test.rb -n "/Deleting a User/" 

Il suffit de mettre une chaîne assez longue de votre nom de contexte dans l'expression régulière.

+0

Génial! Ça a marché! Merci Milan. –

+7

ne fonctionne pas avec 'minitest' :( – asymmetric

+0

Wow awesome super énorme merci – Trip

4

Utilisation du nom complet du test avec un espace à la fin semble fonctionner aussi:

ruby -Itest 
    functional/user_controller_test.rb 
    -n "test: Deleting a user should remove user from user table. " 
3

En combinant les 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/" 
Questions connexes