Fab*_*lva 25 ruby rspec ruby-on-rails rspec3
我在大多数测试中都有以下代码:
describe 'index'
let(:company) { FactoryGirl.create(:company) }
let(:user) { FactoryGirl.create(:user, company: company) }
before do
sign_in user
visit products_path
end
...
end
Run Code Online (Sandbox Code Playgroud)
但我收到以下警告:
WARNING: let declaration 'user' accessed in a 'before(:all)'
Run Code Online (Sandbox Code Playgroud)
我的问题是,这样做的正确方法是什么?我找不到有关警告本身的更多信息.
谢谢!
编辑:我的目标是使用用户变量,以便我可以将其传递给sign_in,签名用户,然后在另一个测试中使用它(我检查用户的公司属性)
Rom*_*lus 25
我有同样的问题,我通过将所有变量声明为before
块内的属性来解决它:
describe 'index' before(:all) do @company = FactoryGirl.create(:company) @user = FactoryGirl.create(:user, company: @company) sign_in @user visit products_path end ... end
现在你可以在测试中使用@user
和@company
内部,你不应该有任何警告.
归档时间: |
|
查看次数: |
14839 次 |
最近记录: |