【发布时间】:2017-12-02 12:56:00
【问题描述】:
我在遗留项目中遇到这种情况。假设我有 rails 模型:
rails g model entity name:string
在该模型中有MAIN_ENTITY 常量:
class Entity < ActiveRecord::Base
MAIN_ENTITY_ID = 1
MAIN_ENTITY = Entity.find(MAIN_ENTITY_ID)
end
现在我想用rspec 测试覆盖Entity-model,但首先我需要工厂。我创建了这个工厂:
FactoryGirl.define do
factory :entity do
name { FFaker::Company.name }
end
end
当我在 rspec 测试中运行 create(:entity) 时,我收到了这个错误:
Failure/Error: MAIN_ENTITY = Entity.find(MAIN_ENTITY_ID)
ActiveRecord::RecordNotFound:
Couldn't find Entity with 'id'=1
如何在不重构代码并保持MAIN_ENTITY 不变的情况下解决这个问题?
【问题讨论】:
标签: ruby-on-rails ruby rspec factory-bot database-cleaner