2017-10-25 13 views
0

私の現在の「マイクロサービス」ベースの会社で実装することに興奮しています JSONのレスポンスを比較するレポートをいくつか生成しました。いくつかの日付と識別子のフィールドを無視するプロバイダ

しかし、私は、日付ベースとインデックスベースのいくつかのキーで困惑しています。

Key: - is expected 
     + is actual 
    Matching keys and values are not shown 

    { 
     "metadata": { 
    - "received_at": "2017-10-23T11:50:12Z" 
    + "received_at": "2017-10-25T01:26:00Z" 
     }, 
     "response": { 
     "cascading_avm_results": { 
      "automated_valuation": { 
    -  "run_date": "2017-10-23", 
    -  "internal_run_identifier": "1508784611820479", 
    -  "valuation_date": "2017-10-23" 
    +  "run_date": "2017-10-25", 
    +  "internal_run_identifier": "1508963160085440", 
    +  "valuation_date": "2017-10-25" 
      } 
     } 
     } 

プロバイダの応答を無視するか、出力を変更してこれらのキーに一致させる方法がありますか?

私が間違っていると私は私の理解を訂正してください、私たちは契約テストの権利でそのプロバイダの応答をスタブしてはいけないのですか?

+0

私たちが助けることができるように、あなたの契約ファイルや乳首のケースを提供してもらえますか?これらはルビー協定試験だと確認されただけですか? –

答えて

0

あなたがしたいのは、レスポンスの形状に一致し、特定の値ではありません。そのためには、柔軟なマッチャー(https://github.com/realestate-com-au/pact/wiki/Regular-expressions-and-type-matching-with-Pact)を使用する必要があります。

配列内を含む正規表現、値型などに基づいて一致させることができます。

+0

'' received_at "=># Vinchbr

+0

何かが右に見えません。これはバグかもしれません。 pactのruby実装を使用している場合、この[repo](https://github.com/pact-foundation/pact-rubystandalone-e2e-example)を使用して問題を再現できますか、この[repo](https ://github.com/pact-foundation/pact-ruby-standalone-e2e-example)他の実装のいずれかを使用している場合は、 [pact-support](https://github.com/pact-foundation/pact-support)リポジトリで問題を報告してください。 –

関連する問題