2009-09-08 11 views
0

J'essaie d'affirmer que le dernier enregistrement n'a pas été supprimé dans le test d'unité de rails. Je lève une exception si le record.count.one? est vrai. Au départ, il y a deux enregistrements.Affirmer le dernier enregistrement dans le tableau

Édité: Il y a un user story qui dit que vous pouvez supprimer les utilisateurs. Vous ne pouvez pas supprimer l'utilisateur avec lequel vous êtes connecté. (test fonctionnel) Vous ne pouvez pas supprimer le dernier utilisateur. (Unité test)

Répondre

0

ici est:

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

Voilà ma traduction littérale de ce que vous demandez (je pense):

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

est ici plus de code de test traditionnel qui est un peu moins fragile:

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

(Mais Gutzofter peut effectivement être sur ce que vous cherchez.)

+0

Gutzofter est celui qui le cherche;) – theIV

Questions connexes