2009-09-08 37 views
0

我試圖斷言最後一條記錄在導軌模型單元測試中沒有被刪除。我提出一個例外,如果record.count.one?是真的。最初有兩個記錄。斷言表中的最後一條記錄

編輯: 有一個用戶故事,說你可以刪除用戶。 您無法刪除您登錄的用戶。 (功能測試) 您不能刪除最後一個用戶。 (單元測試)

回答

0

那就是:

test "verify cannot destroy last user" do 
    assert_raise(RuntimeError) { 
     User.find(:all).select {|u| u.destroy} } 
    assert_equal 1, User.count 
    end 
0

這裏是我的你問(我認爲)直譯:

last_user = User.last 
... 
assert_equal last_user, User.last 

下面是更傳統的測試代碼是有點少脆弱:

assert_difference('User.count',-1) do 
    ... 
end 

(但Gutzofter實際上可能是到你要找的內容。)

+0

Gutzofter是尋找它的人;) – theIV