感叹号在其参数中与assert方法一起使用

时间:2010-03-08 19:47:39

标签: ruby-on-rails ruby

好的,这已经在我的脑海中徘徊了一段时间了。 在ruby on rails单元测试中,有一个带有assert方法的感叹号。这是一个例子

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

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

1 个答案:

答案 0 :(得分:6)

!是逻辑否定。

  • 如果product.save是真实的(也就是说,既不是零也不是假),!product.save将返回false。
  • 如果product.save是假的(即nil或false),!product.save将返回true。

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