Rails e Webmock: despejando os dados do resultado para ajudar a escrever stubs WebMock

Como padrão, defino o WebMock para desativar todas as interações de rede em meu spec_helper.rb:

RSpec.configure do |config|
...
config
.before(:each) do
...
WebMock.disable_net_connect!
...
end
end

Eu realmente não quero que nosso código de teste dependa da disponibilidade da rede e quero que eles sejam executados rapidamente.

Às vezes, preciso escrever um teste que se conecte a um serviço do mundo real e quero uma ajudinha para entender o que devo simular.
Assim, permito que o WebMock use a rede e descarte o tráfego que gostaria de analisar para simular:

before(:each) do
WebMock.allow_net_connect! # TODO Mock
WebMock.after_request do |request_signature, response|
puts
"Request #{request_signature} was made.nResponse: Status = #{response.status}n Header = #{JSON.pretty_generate response.headers}n Body = #{response.body}"
end
end

Com o despejo relevante, você pode simular vários casos em uma API complexa de terceiros com bastante facilidade.
Não se esqueça de que você terá que revisar a API de terceiros de tempos em tempos para verificar se ela não mudou.