Подтвердить что ты не робот

Как я могу заставить Rspec запускать все тесты, вложенные в папку?

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

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

  • rspec spec - нет ошибок.
  • rspec spec/requests - по-прежнему нет ошибки, и 0 examples, 0 failures!
  • rspec spec/requests/my_controller.rb - bingo. 17 examples, 1 failure, и сообщение об ошибке имеет мое сообщение об ошибке.

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

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

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

4b9b3361

Ответ 1

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

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

Ответ 2

вы можете создать задачу рейка

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