【发布时间】:2018-09-18 04:17:44
【问题描述】:
我正在尝试测试我的 Rails 模型。其中一些在模型内部有 find_by 查询。在 RSpec 之外,它似乎工作正常。但是在使用 RSpec 时似乎没有要搜索的数据库。我也在使用 FactoryGirl 来设置工厂。它搜索的数据库似乎是针对已创建的工厂的。我不确定为什么会这样,我只是想更好地了解正在发生的事情。谢谢。
【问题讨论】:
-
您面临的问题是什么?可以显示一些代码来支持您的问题吗?
-
除了设置(也就是定义工厂)之外,您还需要在规范中创建对象。因此,当您定义了
:user工厂时,请像这样创建它:before { create(:user) }或let!(:user) { create(:user) }- 只有这样,工厂才会将对象存储在数据库中 -
jack-nie 能够回答我的问题。基本上,我没有意识到当我使用 rSpec 时,我只连接到我的测试数据库而不是我的开发数据库。
标签: ruby-on-rails rspec rails-activerecord factory-bot