我是 Rails 测试的新手,我正在尝试理解对
assert_difference
的调用。从文档中,我推断该方法需要一个数值来表示表达式的前一个值和最终值之间的差异。如果我只是想断言存在差异,无论差异有多大,该怎么办?也许类似assert_not (assert_no_difference ... )
?
如果您查看文档,您会注意到该方法的签名是:
assert_difference(expression, difference = 1, message = nil, &block)
difference = 1
表示如果未提供值,该方法将 1 设置为差异参数的默认值。
此方法背后的总体思想是,您想要在测试中验证的某些内容的值将会发生特定的变化。如果您只想测试值是否已更改,您可以使用自己的变量和断言。
也许像下面这样的东西就足够了:
value = 0
new_value = some_function
assert_not_equal value, new_value
祝你好运!
我只会使用
assert_changes
.