2014-02-20 16 views
5

Ich verwende VCR, um Antworten von anderen Systemen aufzunehmen, mit denen ich arbeite.Wie edit Antwort Körper von VCR Gem zurückgegeben?

Aber diese Antwort erhält eine sehr große JSON ein VCR es in einem binären Format zu speichern:

body: 
    encoding: ASCII-8BIT 
    string: !binary |- 
    eyJsaXN0IjpbXSwiZmFjZXRzIjpbeyJuYW1lIjoiU2FsZXNDaGFubmVsTmFt 
    ZSIsInR5cGUiOi... 

Gibt es eine Möglichkeit, wo ich nur die Antwort Körper als JSON speichern kann?

Ich möchte, dies zu tun, die zurück JSON, um zu bearbeiten, andere Szenarien für meine Tests zu machen,

Dank

Antwort

2

in VCR Blick google forum, wurde mir gesagt, meine eigenen Serializer zu tun, um zu bekommen eine hübsche json Rückkehr.

Also, ich habe dieses code gefunden. Mit ein paar kleinen Änderungen hat es mein Problem gelöst und den Antworttext so formatiert, dass er nicht als Binärdatei kodiert wird.

+0

Um klar zu sein, die einzige Änderung war ich machen musste um die filter_sensitive_data Teile zu entfernen, und es hat super funktioniert. Vielen Dank! – d3vkit

17

Vom google forum link dass Cleyton geliefert (ich würde einen Kommentar hinterlassen, wenn ich die rep hatte), die folgende Änderung in spec_helper.rb funktioniert bei mir:

VCR.configure do |c| 
    c.before_record do |i| 
    i.response.body.force_encoding('UTF-8') 
    end 
end