0
鑑於let
是一種記憶技術,爲什麼它不能用於初始化實例變量?例如,爲什麼以下成功?爲什麼不能使用RSpec的「let」方法來設置實例變量?
describe "let method" do
let(:@bar) {1}
it "does not define instance variables" do
expect(@bar).to be_nil
end
end
鑑於let
是一種記憶技術,爲什麼它不能用於初始化實例變量?例如,爲什麼以下成功?爲什麼不能使用RSpec的「let」方法來設置實例變量?
describe "let method" do
let(:@bar) {1}
it "does not define instance variables" do
expect(@bar).to be_nil
end
end
雖然let
通常所說的作爲一種機制來初始化變量,它實際上是由下面的例子中https://www.relishapp.com/rspec/rspec-core/v/2-6/docs/helper-methods/let-and-let描述和證明,以限定輔助方法的機構,其通過:
describe "let method" do
let!(:@bar) {1}
it "defines helper methods" do
expect(send(:@bar)).to eq(1)
end
end