Как я могу запустить отдельный тест из набора тестов rails?
rake test ANYTHING
похоже не помогает.
ruby-on-rails
unit-testing
rake
artemave
источник
источник
Ответы:
ПРИМЕЧАНИЕ. Это не запускает тест через
rake
. Таким образом, любой код, который у вас естьRakefile
, НЕ будет выполнен.Чтобы запустить один тест, используйте следующую команду из основного каталога вашего проекта rails:
Это запускает единственный тест с именем «name», определенный в классе MyModelTest в указанном файле. Test_name формируется путем добавления к имени теста слова «test» и последующего разделения слов подчеркиванием. Например:
Вы можете запустить оба теста с помощью:
и только второй тест через
источник
0 tests, 0 assertions, 0 failures, 0 errors
. Рельсы 3.0.7.-n "/good/"
. Экранирование оболочки - это всегда весело, поэтому я предпочитаю использовать простые регулярные выражения, но это намного проще, чем постоянно писать полное имя теста.test/
папку. Например, если я хочу запустить тест,activesupport/test/core_ext/array_ext_test.rb
я должен бытьactivesupport/
первым.-n "/good/"
работал.Запустите тестовый файл :
Запустите один тест в тестовом файле:
(Из комментария @Puhlze.)
источник
rake test TEST=tests/functional/accounts_test.rb TESTOPTS="-n '/paid accounts/'"
(в/paid accounts/
одинарных кавычках)Для рельсов 5:
источник
bin/rails test test/models/user_test.rb:27
Благодаря @James ответ, кажется, таков:
Предположим, что 22 - это номер строки данного теста. По рельсам помогают:
Также обратите внимание, что ваш тест должен наследовать от ActionDispatch :: IntegrationTest, чтобы это работало (это была моя ошибка):
источник
В рельсах 5,
Я использовал этот способ для запуска одного тестового файла (все тесты в одном файле)
посмотрите здесь https://stackoverflow.com/a/41183694/3626659
источник
Чтобы запустить один тест в реальном наборе Rails:
источник
Лучше всего заглянуть прямо в руководства: http://guides.rubyonrails.org/contributing_to_ruby_on_rails.html#running-tests
источник
Это был мой глупый полуночный вопрос. Rails любезно распечатывает команду, которую он выполняет
rake test
. Остальное - это упражнение вырезания и вставки.источник
Если вы хотите запустить один тест, вы можете просто запустить его как обычный скрипт Ruby.
Вы также можете запустить целый пакет (например, ActiveRecord или ActionMailer), войдя
cd
в каталог и запустив егоrake test
внутри.источник
require File.join(File.dirname(__FILE__), '..', 'test_helper')
cd
-ing in работает. Для ясности (не уверен, что я это неправильно читаю, но вы сказали «сгенерированные тестовые файлы»), это для самой библиотеки Rails, а не для проекта Rails.В моей ситуации
rake
работает толькоTESTOPTS="-n='/sample/'"
:источник
Сначала зайдите в папку библиотеки, которую вы хотите протестировать (это важно), а затем запустите:
источник
Папка Rails
Обратите внимание, что вам нужно загрузить соответствующую папку: «activerecord / test» (где у вас есть тест)
источник