假设我有一个公司,它可能包含许多员工类型的员工,可能包含许多任务类型的任务。
class Company < ActiveRecord::Base; has_many :employees; end
class Employee < ActiveRecord::Base; belongs_to :company, has_many :tasks; end
class Task < ActiveRecord::Base; belongs_to :employee; end
使用像 FactoryGirl 这样的工具,我可能会想通过FactoryGirl.create(:task)
强制创建员工和公司来创建任务。
我想做的是创建有效的 ActiveRecord 对象,但将它们的关系排除在外,以使我的测试更快。
我想出的一个解决方案是不使用 FactoryGirl 并使用 mock_model/stub_model 创建新对象来存根它们的关联。
例子:
employee = mock_model(Employee)
task = Task.create! name: "Do that", employee: employee
我做对了吗?
谢谢。