2010-03-08 38 views
2

好吧,这一直在我脑中徘徊了很长一段时间。 在ruby on rails单元测试中有assert方法的感叹号。这里是一个例子在其参数中使用断言方法的感叹号

test "No empty values to be inserted" do 
    product = Produce.new 
    assert !product.save 
end 

让我知道感叹号的功能。快速回复赞赏。谢谢。

回答

6

!是逻辑否定。

  • 如果product.save是truthy(即既不是零也不是false),!product.save返回false。
  • 如果product.save是虚假的(即,无或为假),则!product.save返回true。

因此,assert !product.save意味着product.save必须返回falsy才能通过测试。

+0

我相信你有一个错字在那里(第一'真')... – 2010-03-08 19:58:48

+0

是的。有想法。 – Maxsy 2010-03-08 20:01:44

+0

@MladenJablanović,谢谢。固定。 – 2010-03-08 20:11:05