gpt4 book ai didi

ruby-on-rails - Rails 2.3.2 单元测试在使用普通 ruby​​ 运行时通过,在使用 rake 测试 :units 运行时失败

转载 作者:行者123 更新时间:2023-11-28 20:12:55 24 4
gpt4 key购买 nike

在单元测试中创建记录时,当它与 rake test:units 一起运行时,我得到一个“ActiveRecord::RecordInvalid”。当我使用 ruby​​ ('ruby unit/blah_test.rb') 手动运行单元测试时,我没有收到此错误。我已将问题缩小到模型中存在的验证。这是一个包含验证,它实际上是针对不同的模型执行查找以获得有效值。我认为这与没有及时加载的固定装置有关,但我的 test_helper.rb 中确实有“fixtures:all”(我也尝试在单元测试本身中包含“fixtures:all”。

有人对我如何尝试进一步缩小范围有任何建议吗?

谢谢。

最佳答案

当然,您所看到的与缺少的固定装置相吻合。使用 rake test:units 将设置(并清除)测试数据库模式,因此您包含的模型的固定装置可能不会被填充。通过直接调用,您将使用上次离开时​​的状态的测试数据库,其中可能确实包含所包含模型的修复程序。

在测试类中是否有另一个调用 fixtures 可能导致 fixtures :all 不启动?

在通过 ruby​​ 运行测试之前,您可以尝试执行 rake db:test:prepare,这意味着您在新的测试数据库上运行。如果没有为您包含的模型加载灯具,这将进一步突出显示。

关于ruby-on-rails - Rails 2.3.2 单元测试在使用普通 ruby​​ 运行时通过,在使用 rake 测试 :units 运行时失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/978191/

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