Вы можете сделать это с помощью shared_examples_for
shared_examples_for "something" do
include SomeModule # which has the :a_method method
def a_method(options)
super(options.merge(:option => @attr))
end
it "foofoofoo" do
end
end
И позвонить с помощью it_behaves_like
:
it_behaves_like "something"
РЕДАКТИРОВАТЬ
Жуанправильно указывает, что это не включает SomeModule для примеров в блоке description.Включение должно происходить вне общей группы примеров, например, в верхней части файла спецификации
include SomeModule # which has the :a_method method
# ...
shared_examples_for "something" do
def a_method(options)
super(options.merge(:option => @attr))
end
it "foofoofoo" do
end
end
Дэвид Челимски обсуждает некоторые новые возможности общих примеров в RSpec 2, которые могут иметь отношение к этот пост .