Как использовать require_relative с тестом rspec?
У меня есть тест rspec, то есть описать и
я хочу добавить before :all
а также before :each
поведение
Я могу добавить его, поместив непосредственно в файл спецификации теста, т.е.
describe "test" do
before :all do
CONTINUE_SPEC= true
end
around :each do |example|
if CONTINUE_SPEC
CONTINUE_SPEC = false
example.run
CONTINUE_SPEC = true unless example.exception
else
example.skip
end
end
... actual tests...
Однако я хочу иметь его почти в каждой спецификации, поэтому я подумал, что могу использовать require_relative
заявление, чтобы сделать это легко. Однако, когда я передаю код в файл, используя require_relative с
require_relative '../../support/continue_test_if_passing'
я получил
Failure/Error:
before :all do
CONTINUE_SPEC= true
end
NoMethodError:
undefined method `before' for main:Object
1 ответ
Решение
Просто добавьте это к вашему spec_helper.rb
в RSpec.configure
блок:
RSpec.configure do |config|
config.before :all do
CONTINUE_SPEC= true
end
config.around :each do |example|
if CONTINUE_SPEC
CONTINUE_SPEC = false
example.run
CONTINUE_SPEC = true unless example.exception
else
example.skip
end
end
# ...
end