Как запустить один контекстный тест musta в ruby ​​Test :: Unit framework - PullRequest
19 голосов
/ 29 октября 2009

Обычно я могу протестировать обычный метод 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, не дожидаясь запуска всех тестов.

Ответы [ 3 ]

34 голосов
/ 29 октября 2009

Это работает для меня:

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

Просто поместите некоторую достаточно длинную строку из вашего имени контекста в регулярное выражение.

4 голосов
/ 25 октября 2010

Использование полного имени теста с пробелом в конце, похоже, тоже работает:

ruby -Itest 
     functional/user_controller_test.rb 
     -n "test: Deleting a user should remove user from user table. "
3 голосов
/ 09 декабря 2011

Объединение двух подходов хорошо для меня; используя -I test и регулярное выражение.

ruby -Itest functional/user_controller_teset.rb -n "/remove user from user table/"
...