2017-04-24 55 views
0

我是新来rails测试,我想了解assert_difference的调用。从documentation中,我推断该方法需要表达式的前一个值和最终值之间的差值的数值。如果我只是想断言有什么不同,不管它有多大?也许像assert_not (assert_no_difference ...)rails assert_difference没有具体的差异值

回答

1

如果你看的文档,你会发现,该方法的签名是:

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

difference = 1表明,如果没有提供任何值的方法设置1作为差参数的默认值。

这种方法背后的一般想法是,在你的测试中你想验证的东西的值会有一个特定的变化。如果你只想测试一个值已经改变,你可以使用你自己的变量和断言。

也许像下面这样就足够了:

value = 0 
new_value = some_function 
assert_not_equal value, new_value 

祝您好运!