Entendendo assert_difference no Ruby on Rails

Alguém poderia explicar o que esse código de teste faz? :

assert_difference('Post.count') do
    post :create, :post => { :title => 'Hi', :body => 'This is my first post.'}
end

e:

assert_difference 'ActionMailer::Base.deliveries.size', +1 do
  post :invite_friend, :email => 'friend@example.com'
end

Não consigo entender, apesar de ler a documentação.

Obrigado!