ruby Test :: Unitフレームワークで単一のshouldaコンテキストテストを実行する方法
-
10-07-2019 - |
質問
通常、メソッド" delete_user_test"の次のコマンドライン構文を使用して、通常のTest :: Unitメソッドをテストできます。
ruby functional/user_controller_test.rb -n delete_user_test
今、Test :: Unitでshouldaプラグインを使用しているとき、次のテクニックと同じテクニックを使用しようとしています:
...
context "Deleting a User" do
should "remove user from user table" do
...
end
end
次に、次のように単一のテストを実行しようとします。
ruby functional/user_controller_test.rb -n "test: Deleting a User should remove user from user table"
これは機能しません。 shouldaとTest :: Unitを使用して単一のコンテキストテストを実行する方法を知っている人はいますか。 1つのテストファイルにいくつかの異なるテストがあり、すべてのテストが実行されるのを待たずにTDDを使用して実行するだけです。
解決
これは私のために働く:
ruby functional/user_controller_test.rb -n "/Deleting a User/"
コンテキスト名からかなり長い文字列を正規表現に入れるだけです。
他のヒント
最後にスペースを入れてテストのフルネームを使用することもうまくいくようです:
ruby -Itest
functional/user_controller_test.rb
-n "test: Deleting a user should remove user from user table. "
2つのアプローチを組み合わせると、うまくいきました。 -I test
と正規表現の両方を使用します。
ruby -Itest functional/user_controller_teset.rb -n "/remove user from user table/"
所属していません StackOverflow