2017-10-06 52 views
0

我想测试它的存在为真,但也允许零值的模型属性。我如何测试这个?我波纹管作出了表率:Minitest测试存在和allow_nil为相同的属性

# Person model 
belongs_to :city 

validates :city_id, presence: true, :allow_nil => true 

我试图来测试:

test "should permit nil for city_id" do 
    @person.city_id = nil 
    assert @person.valid? 
end 

我在控制台中得到了什么:

预计假以truthy。

回答

0

我找到了答案。测试失败,因为它在belongs_to中缺少参数:

# Person model 
belongs_to :city, optional: true 

validates :city_id, presence: true, :allow_nil => true 

参数可选允许nil值为外键。