如何将变量从let传递给共享示例?

时间:2017-02-04 09:43:35

标签: ruby-on-rails rspec refactoring

我有这样的测试:

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

我需要用户记录来检查是否正确创建了public_activity,但上面的示例不起作用,因为来自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

它有效,但我不太喜欢这种方法。有没有更好的方法来实现这个目标?

1 个答案:

答案 0 :(得分:1)

尝试使用Bundle extras = getIntent().getExtras(); byte[] b = extras.getByteArray("picture"); Bitmap bmp = BitmapFactory.decodeByteArray(b, 0, b.length); ImageView image = (ImageView) findViewById(R.id.imageView1); image.setImageBitmap(bmp); 代替include_examples。然后测试用例将使用当前上下文。