Общий контекст в каталоге поддержки вызывается для всех примеров? - PullRequest
0 голосов
/ 20 февраля 2012

У меня есть общий контекст в каталоге / spec / support.Теперь это называется для каждого примера, а не только для тех, которые его включают.Есть ли что-то особенное в каталоге поддержки, и куда мне его поместить, если я не хочу запускать его на каждом примере?эта проблема может быть связана с вокруг (: каждый)?

1 Ответ

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

Похоже, что преступник вокруг блока, поэтому я добавил следующее в файл в папке / rspec / support /:

RSpec.configure do |config|
  config.around(:each) do |example|
    if (example.metadata[:timeout])
      timeout = example.metadata[:timeout] || 1.second
      Rails.logger.debug "timeout #{timeout} sec for: #{example.metadata.full_description}"
      Timeout::timeout(timeout) do
        example.run
      end
    else
      example.run
    end
  end
end

и назовите мои спецификации сейчас:

describe 'explicit timeout of 5 seconds', :timeout => 5.seconds do
end
describe 'implicit timeout of 1 second', :timeout do
end
describe 'no timeout' do
end
...