【问题标题】:How to reload rails fixtures into database during test running如何在测试运行期间将 Rails 固定装置重新加载到数据库中
【发布时间】:2018-11-30 06:30:37
【问题描述】:

我的旧代码正在使用 DatabaseCleaner,它会在每次测试完成后清除数据库。然而,它也会清除加载的夹具数据并导致一些使用夹具失败的测试,例如:

ActiveRecord::RecordNotFound Exception: Couldn't find Country with 'id'=593363170

为了使它们一起工作,我如何在测试期间将所有夹具重写回数据库? (我的意思不是 rake 任务)

【问题讨论】:

    标签: ruby-on-rails rspec fixtures database-cleaner


    【解决方案1】:

    解决方案:

    设置self.use_transactional_fixtures = false 在要重新加载固定装置之前的文件的开头。

    或者在 Rails 5 中使用use_transactional_tests

    不要在 spec_helper 中设置它,因为它适用于全局,因此与 DatabaseCleaner 冲突。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-29
      • 1970-01-01
      • 2014-08-03
      • 1970-01-01
      相关资源
      最近更新 更多