我正在使用Rspec
和Factorybot
,我想在每次启动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
然后,此块将在每个示例之前运行。