RSpec: получить список всех примеров, которые будут выполняться

#rspec #rspec3

#rspec #rspec3

Вопрос:

Я использую RSpec 3.

В before(:suite) блоке хотите получить (вложенный?) список всех примеров, которые будут выполняться в текущем запуске спецификации (т. Е. Когда указан путь), чтобы я мог просмотреть все их метаданные.

Справочная информация: Я надеюсь, что смогу определить, присутствуют ли спецификации capybara, и запустить внешний сервер, если это так.

Ответ №1:

Вам не обязательно делать это заранее, when_first_matching_example_defined hook запустит указанный код

 RSpec.configure do |config|
  config.when_first_matching_example_defined(:capybara) do
    start_server
  end
end
  
 RSpec.describe do
  describe 'non-capybara' do
    # when running this example group only, `start_server` won't be called
  end

  describe 'capybara', :capybara do
    # when RSpec gets to this example group, it will call `start_server`
  end
end