ActiveSupport::Testing::Assertions can check that a value was reduced because of a block:
test 'should destroy' do
assert_difference('User.count', -1) do
delete :destroy, id: user.id
end
end
#assert_difference has a default value of 1 so negative numbers must be explicit.