Как запустить один контекстный тест musta в ruby Test :: Unit framework
-
10-07-2019 - |
Вопрос
Обычно я могу протестировать обычный метод Test :: Unit, используя следующий синтаксис командной строки для метода " delete_user_test ":
ruby functional/user_controller_test.rb -n delete_user_test
Теперь, когда я использую плагин musta с Test :: Unit, я пытаюсь использовать ту же технику, как показано ниже:
...
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"
Это не работает. Кто-нибудь знает, как я могу запустить одиночные контекстные тесты, используя musta и Test :: Unit. У меня есть несколько разных тестов в одном тестовом файле, и я хочу запустить только один, используя 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. "
Объединение этих двух подходов хорошо для меня; с использованием -I test
и регулярных выражений.
ruby -Itest functional/user_controller_teset.rb -n "/remove user from user table/"