可以向我解釋爲什麼有必要使用let!而不是在這種情況下呢?只有當我包括!時,測試纔會通過。我以爲我明白,讓該塊在每個「it」語句之前自動執行,但顯然情況並非如此。Rspec:讓我們帶着感嘆號
describe Artist do
before do
@artist = Artist.new(name: "Example User", email: "[email protected]",
password: "foobar", password_confirmation: "foobar")
end
subject { @artist }
describe "virtual requests" do
let!(:virtual1) { FactoryGirl.create(:virtual_request, artist: @artist) }
let!(:virtual2) { FactoryGirl.create(:virtual_request, artist: @artist) }
it "should be multiple" do
@artist.virtual_requests.count.should == 2
end
end
end
在這裏找到了一個很好的解釋http://stackoverflow.com/questions/17407733/trouble-differentiating-rspecs-let-vs-let –
爲什麼不是藝術家在'let'? – apneadiving
我不得不在規範中的某個位置使用.dup方法,不能使用let變量,所以我將它切換到實例。 –