块参数之前的 Rspec?

use*_*452 5 rspec

我需要为我的 rspec 定义 before(:each) 块,但是在这个块中,有一些变量应该由每个示例确定。我用谷歌搜索但没有找到这样做的方法。有人能给我举个例子吗?

before(:each) do
  subject.stub(:abc) {double(price: 11)}
end
Run Code Online (Sandbox Code Playgroud)

这里的11实际上应该是每个例子给出的变量。

Pet*_*vin 2

这些before块总是在示例之前执行,因此后者不可能影响前者。before但是,您可以共享“共享示例”并向其传递参数,而不是尝试以这种方式跨示例共享块,如https://www.relishapp.com/rspec/rspec-core/docs中所述/example-groups/shared-examples#将参数传递给共享示例组