Esperançosamente, este salvará alguém 10 minutos de escavações.
Usamos o videocassete em todos os projetos da Hooroo e estamos muito gratos por isso.
Recentemente, os contribuidores decidiram descontinuar a sintaxe ‘Macro’ para VCR’ing um exemplo em favor do uso de metadados RSpec em seu lugar.
Eu li o longo tópico sobre o assunto e, embora concorde com o sentimento geral do autor, ele representa uma mudança significativa na API. Um que exigiria muita refatoração de nossa parte para corrigir todas as especificações afetadas.
O resultado é que nossa saída de especificações agora está repleta de literalmente centenas de mensagens dizendo:
WARNING: VCR::RSpec::Macros is deprecated. Use RSpec metadata options instead `:vcr => vcr_options`
Então, se como eu, você ainda não pode perder tempo para alterar todos os testes para usar a nova API, colocar isso em seu arquivo spec_helper.rb pelo menos silenciará os avisos por enquanto:
# add this:
module VCR::RSpec::Macros
def self.extended(base)
end
end
# right above the existing:
config.extend(VCR::RSpec::Macros)
Isso corrige o método da classe Macros.extended, que é responsável apenas por registrar o aviso. Embora o monkey-patching como este geralmente não seja aconselhável, deve ser seguro, uma vez que as macros não estão mais em desenvolvimento ativo.
Se o seu pacote usa a sintaxe macro com a mesma freqüência que a nossa, tenho certeza de que você descobrirá quando eles forem totalmente removidos!
~ Stu