在Rails項目中做一些rspec工作。有點好奇,爲什麼這些不應成爲期望。有什麼想法嗎?Rspec:當我預計失敗時,nil.should_not be_nil會通過。爲什麼?
it "nils should be nil" do
@io = nil
@io.should_not be_nil #passes (shouldn't!!)
nil.should_not be_nil #passes (shouldn't!!)
@io.should == nil # passes
@io.should be_nil # passes
@io.nil?.should be_true # passes
#@io.nil?.should be_false # fails as expected
end
UPDATE:意見的基礎上在這裏,我已經能夠分離出這種情況的原因(這是從spec_helper
加載的東西)。我相信這是由於.nil?
或.blank?
可憐的混合,我將與開發人員談一談,看看這些重寫是否真的有必要。
感謝那些幫助驗證我的東西。
那麼這不是什麼https://www.relishapp.com/rspec/rspec-expectations/v/2-10/docs/built-in-matchers/be-matchers說應該發生 –