2017-02-04 13 views
2

У меня есть тест, как это:Как передать переменную из let в общий пример?

describe 'event creation' do 
    let(:user) { create :user } 
    ... 
    it_behaves_like 'also creates public_activity record', user 
end 

Мне нужна запись пользователя, чтобы проверить public_activity было создано правильно, но приведенная выше пример не работает, так как переменные из вкладыша доступны только из примера контекста.

Я сделал это обходной путь:

describe 'event creation' do 
    let(:user) { create :user } 
    ... 

    describe 'public activity' do 
    before { @user = user } 
    it_behaves_like 'also creates public_activity record', @user 
    end 
end 

Это работает, но мне не нравится этот подход очень много. Есть ли лучший способ сделать это?

ответ

1

Попробуйте использовать include_examples вместо it_behaves_like. Тогда тестовые примеры будут использовать текущий контекст.

 Смежные вопросы

  • Нет связанных вопросов^_^