У меня есть набор контекстов с заданными предложениями before
, которые я хотел бы обернуть вокруг различных примеров. Вот моя попытка:
# The "multi-context" wrapper
def with_foo_and_bar(&block)
before { p 'hello world' }
context 'foo' do
before { p 'baz' }
yield
end
context 'bar' do
before { p 'qux' }
yield
end
end
# The example
describe do
with_foo_and_bar do
it 'prints some stuff' do
# Example runs twice, but only 'hello world' is printed
end
end
end
В этой спецификации c я бы ожидал, что все пункты before
будут выполняться и распечатывать "baz" и "qux" по одному разу и "hello world" дважды, но печатается только «привет мир» (дважды, как и ожидалось). Я чувствую, что есть какая-то проблема с игнорированием yield
блоков before
, но я не уверен, как настроить код, чтобы получить то, что я хочу. Буду признателен за любые предложения!