Minitest用于测试presence和allow_nil用于相同的属性

时间:2017-10-06 13:36:03

标签: ruby-on-rails unit-testing validation minitest

我想测试一个模型属性,其中存在为true,但也允许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

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

  

预计虚假是真的。

1 个答案:

答案 0 :(得分:0)

我找到了答案。测试失败了,因为它在belongs_to中错过了一个参数:

# Person model
belongs_to :city, optional: true

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

参数Optional允许nil值为外键。