Я пытаюсь определить несколько хуков let
и before
, которые будут работать глобально для всех моих спецификаций, включив их в отдельный файл, используя блок конфигурации Rspec .
Я пробовал что-то вроде:
module Helpers
def self.included(base)
base.let(:x){ "x" }
base.before(:all){ puts "x: #{x}" }
end
end
Rspec.configure{|c| c.include Helpers }
, но это не работает, как ожидалось.before(:all)
не только запускается перед каждой основной группой примеров, но и каждой вложенной.
Затем я узнал о shared_context , и, похоже, это именно то, что я хочу.
Однако моя открытая проблема заключается в том, что я не могу понять, как разделить контекст среди ALL моих спецификаций.Документы ссылаются только на include_context
в пределах конкретной спецификации.
Может кто-нибудь сказать мне, как я могу добиться такого поведения в глобальном масштабе?Я знаю, что я могу определить глобальные до хуков в моем spec_helper
, но я не могу использовать let
.Мне бы хотелось одно место, где я мог бы определить обе эти вещи и не загрязнять моего помощника по спецификациям, а просто включить его вместо этого.