Я могу запустить все тесты в одном файле с:
rake test TEST=path/to/test_file.rb
Однако, если я хочу выполнить только один тест в этом файле, как бы я это сделал?
Я ищу похожую функциональность для:
rspec path/to/test_file.rb -l 25
ruby
ruby-on-rails-3
minitest
Иосия Киль
источник
источник
rails test path/to/test_file.rb:25
смотрите @Derek_Hill ans - взято с guides.rubyonrails.org/testing.html#the-rails-test-runnerОтветы:
Ага! Используйте драгоценный камень Ника Кваранто "m" . С его помощью вы можете сказать:
источник
m
в настоящее время не работает этот Minitest 5.0 .Команда должна быть:
источник
TESTOPTS=...
далеко-v
?Ты пробовала:
источник
specify {}
? Они просто отображаются какtest_0001_anonymous
... и может быть несколькоtest_0001_anonymous
s, если один и тот же синтаксис используется в нескольких блоках описания ... какие-либо предложения по запуску отдельных тестов в такой среде?cannot load such file -- test_helper
.ruby -Itest path/to/tc_file.rb --name test_method_name
как stackoverflow.com/a/15714985/327786bundle exec ruby -I lib path/to --name test_fit
Драгоценный камень не требуется:
ruby -Itest test/lib/test.rb --name /some_test/
Источник: http://blog.arvidandersson.se/2012/03/28/minimalicous-testing-in-ruby-1-9
источник
Это одна из вещей, которая беспокоит меня
string name definition
в тестах.Когда у тебя есть:
Вы всегда знаете, как называется ваш тест, поэтому вы можете выполнить его следующим образом:
Но когда у вас есть что-то вроде:
вы никогда не знаете, как этот тест на самом деле назван внутренне, поэтому вы не можете использовать
-n
опцию напрямую.Чтобы узнать, как этот тест называется внутренне, у вас есть только опция: выполнить весь файл, чтобы попытаться выяснить, просматривая логи.
Мой обходной путь - (временно) добавить что-то к имени теста, очень уникальное, например:
а затем используйте RegEx- версию параметра '-n', например:
источник
__method__
контекст текущего выполняемого метода (в данном случае, вашего теста). Настоящая реализация приводит к чему-то вроде"does not break my stuff".gsub(" ", "_").prepend("test_")
. Затем запустите, напримерruby -Itest test/integration/stuff_flow_test.rb --name test_does_not_break_my_stuff
,.Если вы используете MiniTest с Rails 5+, лучший способ запустить все тесты в одном файле:
И для одного теста (например, в строке 25):
Смотрите http://guides.rubyonrails.org/testing.html#the-rails-test-runner
источник
Вы можете использовать это для запуска одного файла:
Я также использовал
для лучшего отображения.
источник
Есть 2 способа сделать это:
Rake::TestTask
цель, чтобы использовать другой загрузчик тестов.Rake::TestTask
(из грабли 0.8.7) теоретически может передавать дополнительные параметрыMiniTest::Unit
с помощью параметра"TESTOPTS=blah-blah"
командной строки, например:На практике опция
--name
(фильтр для имен тестов) не будет работать из-за внутренних граблей. Чтобы это исправить, вам нужно написать небольшой патч для обезьян в вашем Rakefile:Этот патч требует, чтобы вы создали файл
test/my-minitest-loader.rb
:Чтобы распечатать все возможные варианты для Minitest, введите
источник
rake
(0.9.2) и патч обезьян не требуется.TESTOPTS="--name test_foobar"
не работает, ноTESTOPTS="--name=test_foobar"
работает.Вы можете пройти
--name
для запуска теста по его имени или номеру в его имени:например:
Этот флаг задокументирован в README Минитеста .
источник
Если вы используете Turn gem с minitest, просто используйте
Turn.config.pattern
опцию, поскольку бегун Turn Minitest не учитывает опцию --name в ARG.источник
name
возможность. Спасибо! Поскольку этот поворот больше не поддерживается, я планирую мигрировать на minitest-репортеровСуществует драгоценный камень , который делает именно это:
minitest-line
.с https://github.com/judofyr/minitest-line#minitest-line
источник
я использую
ruby /path/to/test -n /distinguishable word/
Изменить:
-n
это сокращение для--name
.distinguishable word
это может быть любая строка, которую вы указали в описании теста, я обычно использую какое-то случайное слово, которое, как я знаю, не будет присутствовать в описании других тестов.источник
-n
параметр?--name
. Просто удобная вещь. Особенно полезно с / regex /, я обычно просто помещаю какое-то случайное слово в название теста (которое, я знаю, не будет присутствовать в описании других тестов).Следующий будет работать
Это может быть запущено
источник
rails test path/to/test_file.rb:25
сделаю этоисточник