代码优于此处的文字
e = FactoryGirl.build(:company_employee)
e.class # => Company::Employee
e.is_a?(Company::Employee) # => false
这是一个错误吗? (注意,如果我使用像用户这样的简单模型,则返回true)。该错误可能来自名称空间的添加吗?
类
# factories/company_employee.rb
FactoryGirl.define do
factory :company_employee, class: Company::Employee do
...
end
end
# models/company/employee.rb
class Company::Employee < Professional
...
end
答案 0 :(得分:2)
尝试在工厂中将类名指定为字符串:
factory :company_employee, class: 'Company::Employee' do
由于代码重新加载,Company::Employee
和工厂中使用的类可能确实是不同的类。