rspec的所有教程都使用內置匹配器,但我沒有看到給予學習新語法成本的好處。例如,這兩個是等效的:rspec matcher與香草紅寶石有什麼好處?
expect(person.name).to eq "John"
person.name.should == "John"
至少eq
是容易記住的事情。 rpsec
涉及許多「異國情調」的東西,如have(n).things
。爲什麼我不應該用普通紅寶石代替object.size.should == n
?
總之,學習所有這些rspec匹配器相比使用.should ==
有什麼好處?
這個問題似乎可能有點寬泛和基於觀點,但是一個簡單的答案是rspec可以爲應用程序創建一個更加自然的規範,我認爲DHH自己說過[對rspec沒有太多需要或黃瓜](http://www.rubyinside.com/dhh-offended-by-rspec-debate-4610.html)但這是他的意見,該文章顯示了幾個不同的觀點,你可以用它來熟悉自己的論點贊成/反對。 –