我试图断言在rails模型单元测试中没有删除最后一条记录。如果record.count.one,我会引发异常?是真的。最初有两条记录。
编辑: 有一个用户故事说您可以删除用户。 您无法删除您登录的用户。 (功能测试) 您无法删除最后一个用户。 (单元测试)
答案 0 :(得分:0)
这里是:
test "verify cannot destroy last user" do
assert_raise(RuntimeError) {
User.find(:all).select {|u| u.destroy} }
assert_equal 1, User.count
end
答案 1 :(得分:0)
这是我对你要问的字面翻译(我认为):
last_user = User.last
...
assert_equal last_user, User.last
这是更传统的测试代码,它不那么脆弱:
assert_difference('User.count',-1) do
...
end
(但Gutzofter实际上可能正在寻找你正在寻找的东西。)