在事务中包装每个测试用例时,Rails如何正确地测试使用事务的代码?

时间:2017-07-17 00:49:25

标签: ruby-on-rails postgresql activerecord transactions

warning(向下滚动到“嵌套交易”)指出函数foo

def foo
  User.transaction do
    <stuff that mutates the database>
    raise ActiveRecord::Rollback
  end
end

的行为会有所不同,具体取决于是否从事务块内部调用它。我知道这一点,而且我也知道Rails在事务中执行每个测试用例。

我的函数看起来像foo,并且它们在测试中表现得如预期。我的问题是:Rails是如何实现这一目标的?在测试中默认情况下是ActiveRecord::Base#transaction是否包含requires_new: true

(我在Postgres上。)

0 个答案:

没有答案