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

时间:2019-04-09 15:32:30

标签: ruby-on-rails factory-bot

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

例如,我的所有模型都依赖于Manufacturer,而我想在启动测试环境时已经创建了Manufacturer,并使我所有的工厂都与此特定的Manufacturer相关联对象(重要的是所有工厂的对象都是同一对象,导致模型对其进行验证)?

它可以将其放入initializers中: if Rails.env.test? { create factories },但这似乎不是一个好主意。

什么是最好/最干净的方法?

1 个答案:

答案 0 :(得分:0)

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

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

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