我進入rspec這些天,試圖讓我的模型更精確和準確。有些事情對我來說還是有點奇怪,所以我認爲如果有人能夠澄清,這將會很好。Rspec Rails - 名稱應該是有效的 - 一些澄清
比方說,我有一個用戶模型。這個有一個:名字。該名稱應該在4..15個字符之間(這是次要目標,首先它必須存在)。所以現在我在想:以確保這種情況發生的方式來測試它的最佳方式是什麼?要測試一個用戶必須有一個名字,我寫了這樣的東西:
describe User do
let(:user) { User.new(:name => 'lele') }
it "is not valid without a name" do
user.name.should == 'lele'
end
end
現在,我不太確定,這完成了我想要的。在我看來,我實際上正在用這個測試Rails。此外,如果我想檢查一個名稱不能超過15個字符且小於4個,那麼這怎麼可能被整合?
編輯:
也許這樣比較好?
describe User do
let(:user) { User.new(:name => 'lele') }
it "is not valid without a name" do
user.name.should_not be_empty
end
end
請注意,所有.create!方法撞擊數據庫並使測試速度降低了100倍。您可以使用@Dylan Markow的以下說明避免緩慢並仍然檢查有效性。 – aaandre 2013-11-06 00:00:09