18

VCR を使用して、統合している他のシステムからの応答を記録しています。

しかし、この応答は、VCR がバイナリ形式で保存している巨大な JSON を取得します。

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

応答本文のみを JSON として保存する方法はありますか?

テスト用に他のシナリオを作成するために、返された JSON を編集するためにこれを実行したいと考えています。

ありがとう

4

3 に答える 3

29

Cleyton が提供したGoogle フォーラムのリンク(担当者がいればコメントを残します) から、次の変更がspec_helper.rb機能します。

VCR.configure do |c|
  c.before_record do |i|
    i.response.body.force_encoding('UTF-8')
  end
end
于 2014-08-29T15:50:40.283 に答える
4

VCR google forumを見ると、きれいな json を返すために独自のシリアライザーを作成するように言われました。

だから、私はこのコードを見つけました。いくつかの小さな変更を加えて、応答本文をバイナリとしてエンコードしないようにフォーマットすることで、私の問題を解決しました。

于 2014-02-24T18:24:02.160 に答える