gpt4 book ai didi

ruby-on-rails - 为什么 database_cleaner 破坏了我的测试(minitest/capybara/factory girl)?

转载 作者:行者123 更新时间:2023-11-28 20:15:58 25 4
gpt4 key购买 nike

我正在尝试让 database_cleaner 与我的测试套件一起工作,但我在网上找不到关于此错误的任何信息:

错误无法找到 id=1 的用户

在我添加 database_cleaner 之前,测试运行良好。这就是我在 test_helper.rb 文件中使用它的方式:

# Database cleaner.
DatabaseCleaner.strategy = :truncation
class MiniTest::Spec
before :each do
DatabaseCleaner.clean
end
end

如果我的策略是:transaction,它也不起作用。

最佳答案

根据docs ,对 DatabaseCleaner.clean 的调用应该在 after Hook 中,而 DatabaseCleaner.start 在 before Hook 中(截断策略可能不需要开始调用。

这里很可能发生的事情是,数据库清理器正在清除您在实际测试运行之前在其他 before Hook 中设置的所有数据。这将取决于 before Hook 的运行顺序。

关于ruby-on-rails - 为什么 database_cleaner 破坏了我的测试(minitest/capybara/factory girl)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12976908/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com