Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何将变量从let传递到共享示例?_Ruby On Rails_Rspec_Refactoring - Fatal编程技术网

Ruby on rails 如何将变量从let传递到共享示例?

Ruby on rails 如何将变量从let传递到共享示例?,ruby-on-rails,rspec,refactoring,Ruby On Rails,Rspec,Refactoring,我有一个这样的测试: describe 'event creation' do let(:user) { create :user } ... it_behaves_like 'also creates public_activity record', user end 我需要用户记录来检查是否正确创建了public_活动,但上面的示例不起作用,因为let中的变量只能从示例上下文访问 我做了以下变通: describe 'event creation' do let(:user

我有一个这样的测试:

describe 'event creation' do
  let(:user) { create :user }
  ...
  it_behaves_like 'also creates public_activity record', user
end
我需要用户记录来检查是否正确创建了public_活动,但上面的示例不起作用,因为let中的变量只能从示例上下文访问

我做了以下变通:

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

这是可行的,但我不太喜欢这种方法。有没有更好的方法来实现这一点?

尝试使用
包含示例
而不是
它的行为类似于
。然后测试用例将使用当前上下文