Wie ein einzelnen shoulda Kontext Test in Ruby-Test :: Unit Rahmen läuft
-
10-07-2019 - |
Frage
Ich kann in der Regel testen eine regelmäßige Test :: Einheit Methode die folgende Kommandozeilen-Syntax für eine Methode „delete_user_test“ mit:
ruby functional/user_controller_test.rb -n delete_user_test
Nun, wenn ich das shoulda Plugin mit Test :: Einheit verwende ich versuchen, die gleiche Technik wie folgt zu verwenden:
...
context "Deleting a User" do
should "remove user from user table" do
...
end
end
Dann versuche ich, die einzigen Test zu laufen, wie folgt:
ruby functional/user_controller_test.rb -n "test: Deleting a User should remove user from user table"
Das funktioniert nicht. Wer weiß, wie ich einen einzelnen Kontext Tests ausführen kann mit shoulda und Test :: Einheit. Ich habe ein paar verschiedene Tests in einer Testdatei, und ich möchte nur den einen Lauf mit TDD ohne für alle Tests zu warten, zu laufen.
Lösung
Dies funktioniert für mich:
ruby functional/user_controller_test.rb -n "/Deleting a User/"
Nur einige ziemlich lange Zeichenkette setzen aus Ihrem Kontextnamen in den regulären Ausdruck.
Andere Tipps
mit einem Raum den vollständigen Namen des Tests am Ende scheint zu funktionieren:
ruby -Itest
functional/user_controller_test.rb
-n "test: Deleting a user should remove user from user table. "
Die Kombination der beiden Ansätze gearbeitet hat gut für mich; Verwendung sowohl -I test
und die regexp.
ruby -Itest functional/user_controller_teset.rb -n "/remove user from user table/"