Как я могу заставить Rspec запускать все тесты, вложенные в папку? - PullRequest
34 голосов
/ 20 февраля 2012

Мне нравится запускать мои тесты Rspec с запущенным Spork на отдельной вкладке. Я обычно запускаю свои тесты, используя rspec spec, под которым я намереваюсь сказать «искать рекурсивно и запускать все в папке spec».

Я недавно понял, что это на самом деле не запускает все мои тесты. Теперь у меня есть файл спецификации в spec/requests, который не запускается. Я знаю это, потому что отредактировал один из тестов, чтобы вызвать ошибку, и запустил следующее:

  • rspec spec - ошибки не возникли.
  • rspec spec/requests - ошибка по-прежнему не возникает, а 0 examples, 0 failures!
  • rspec spec/requests/my_controller.rb - Бинго . 17 examples, 1 failure и сообщение об ошибке выдает ошибку.

Почему Rspec не находит все мои тестовые файлы? Это вопрос конфигурации, или мне нужно использовать другую команду для запуска моих тестов?

Мне нужно запустить все мои тесты сразу, чтобы убедиться, что я не вводил регрессии.

(Кстати, если не использовать Spork, это не имеет значения.)

Ответы [ 2 ]

72 голосов
/ 20 февраля 2012

Rspec должен уже рекурсивно просматривать каталог, который вы назвали, и найти все тесты. Обратите внимание, что он ищет файлы, заканчивающиеся на _spec.rb. Может быть, некоторые ваши файлы имеют неправильные имена?

Если вам нужно более конкретно указать, какие файлы он должен найти, вы также можете использовать опцию --pattern. Например: rspec --pattern spec/requests/*_spec.rb. (Опция --pattern равна -P. Взято из rspec --help)

3 голосов
/ 05 марта 2014

вы можете создать задачу rake

desc "Run PCMag tests"
  RSpec::Core::RakeTask.new('test') do |t|
  t.rspec_opts = ["-Ilib","--format documentation","--color"]
  t.pattern = ['spec/test/*.rb']
end

Затем выполнить команду rake test.

Приведенная выше команда выполнит все .rb тесты в папке 'test'

Пожалуйстапроверьте следующую ссылку для более подробной информации.

http://testautomationarchives.blogspot.in/2013/10/rspec-rake-framework-in-ruby-with.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...