テストコード:assert_difference
railsのコントローラのテストコードで使われているメソッドです。
次のようなところで使われています。
◆createのテスト
assert_difference('Product.count') do
post :create, product: @update
end
◆destroyのテスト
assert_difference('Product.count', -1) do
delete :destroy, id: @product
end
要するに、assert_differenceメソッドの第1引数に渡したメソッドの値が、ブロック内で変更されることを検証します。
第2引数に変更される期待値を渡します。省略した場合は"+1"が期待値になります。