有没有办法测试一个destroy动作方法,如果另一个模块使用该记录(如果它是另一个表的forign键),则不应删除该记录。
我正在使用rails mini测试。
由于
答案 0 :(得分:0)
您可能需要在测试部分中使用事务块。
User.transaction do
User.destroy!
raise ActiveRecord::Rollback
end
答案 1 :(得分:0)
当您尝试删除记录时,活动记录将引发异常,因为它无法删除数据。 所以你的测试应该是:
// add a record with a foreign key
begin
post :destroy
fail
rescue Exception => e
// assert the exception type
end
因此,如果操作抛出异常,则测试成功否则失败。