rails assert_difference没有特定的差值

时间:2017-04-24 14:34:40

标签: ruby-on-rails testing automated-tests assert

我是rails测试的新手,我正在尝试理解对assert_difference的调用。从documentation,我推断出该方法需要一个数值来表示表达式的前一个值和最终值之间的差值。如果我只想宣称存在差异,无论它有多大,该怎么办?也许像assert_not (assert_no_difference ... )

1 个答案:

答案 0 :(得分:1)

如果您查看文档,您会注意到该方法的签名是:

assert_difference(expression, difference = 1, message = nil, &block)

difference = 1表示如果没有提供值,方法将1设置为差异参数的默认值。

此方法背后的一般思路是,您希望在测试中验证的内容的值会发生特定变化。如果你想测试一个值已经改变,你可以使用你自己的变量和断言。

也许以下内容就足够了:

value = 0
new_value = some_function
assert_not_equal value, new_value

祝你好运!