31

ほとんどのテスト内に次のコードがあります。

describe 'index'
 let(:company) { FactoryGirl.create(:company) }
 let(:user) { FactoryGirl.create(:user, company: company) }

 before do
   sign_in user
   visit products_path
 end
...
end

しかし、次の警告が表示されます。

WARNING: let declaration 'user' accessed in a 'before(:all)'

私の質問は、これを行う正しい方法は何ですか? 警告自体に関する多くの情報が見つかりません。

ありがとう!

編集:私の目標は、ユーザー変数を使用して、それを sign_in に渡してユーザーをサインインさせ、後で別のテストで使用できるようにすることです (ユーザーの会社属性を確認します)

4

3 に答える 3

2

ピーターの答えを考慮して、正しい方法は各ブロックの前にユーザーにアクセスすることだと思います:

before(:each) do
  sign_in user
end
于 2013-10-29T22:53:49.247 に答える