繁体   English   中英

测试控制器上的销毁动作

[英]Testing a destroy action on a controller

有没有一种方法可以测试销毁操作方法,即如果记录被另一个模块使用(如果它是另一个表的外键),则不应删除该记录。

我正在使用Rails迷你测试。

谢谢

您可能需要在测试部分中使用事务块。

 User.transaction do
    User.destroy!
    raise ActiveRecord::Rollback
 end

当您尝试删除记录时,活动记录将引发异常,因为它无法删除数据。 因此,您的测试应为:

// add a record with a foreign key

begin
   post :destroy
   fail
rescue Exception => e
   // assert the exception type
end

因此,如果操作抛出异常,则测试成功,否则失败。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM