我正在使用Factory Girl在我的模型/单元测试中创建两个Group实例。我正在测试该模型以检查对.current的调用是否只返回根据过期属性为“current”的组,如下所示...
describe ".current" do
let!(:current_group) { FactoryGirl.create(:group, :expiry => Time.now + 1.week) }
let!(:expired_group) { FactoryGirl.create(:group, :expiry => Time.now - 3.days) }
specify { Group.current.should == [current_group] }
end
我的问题是,我在模型中设置了验证规则来检查新组的到期日期是否在今天日期之后。这将引发以下验证失败。
1) Group.current
Failure/Error: let!(:expired_group) { FactoryGirl.create(:group, :expiry => Time.now - 3.days) }
ActiveRecord::RecordInvalid:
Validation failed: Expiry is before todays date
有没有一种强制创建 Group 或绕过使用 Factory Girl 创建时的验证的方法?
g.tap { |g| g.save(validate: false) }
。 - yefrem