创建具有测试环境启动的工厂



我正在使用RspecFactorybot,我想在每次启动Rails test环境之前创建一些特定的数据(然后删除它(。

例如,我的所有模型都依赖于具有Manufacturer,并且我希望在启动测试环境时已经创建了一个Manufacturer,并让我的所有工厂都与此特定的Manufacturer对象相关联(重要的是它对所有工厂都是相同的对象,因为模型对其进行了验证(?

它把它放在initializers里工作: if Rails.env.test? { create factories }但这似乎不是一个好主意。

最好

/最干净的方法是什么?

rails_helper.rb 或 spec_helper.rb 的RSpec.configure块内添加一个before(:each)块:

RSpec.configure do |config|
  config.before :each do
    # create factories here
  end
end

然后,此块将在每个示例之前运行。

最新更新