2017-11-22 10 views
0

私はpact-python(0.10.0)を使用しています。私は、エンティティIDを持つプロバイダに要求を作りたい:Pact-python URLにUUIDを持つリクエストをテストする方法

/entity/6000d04d-d5d6-4a5f-81d3-7d8a72b46174 

が、この(6000d04d-d5d6-4a5f-81d3-7d8a72b46174)は、データベースに存在しなければなりません。

what'dは、よりよい解決策:

  1. その中に存在するデータとプロバイダの状態を作成する(しかし、どのように契約は、本のIDをプロバイダ検証作業持つべきではないでしょうか?データベース内のすべてのidのための本当のプロバイダ?)

  2. クエリと要求を行うための1つを選ぶ(このために、私は何とか更新し、フェッチされたIDとの協定を公開する必要があります)

それとも私が逃したかもしれないより良い解決策がありますか?

答えて

1

相互作用が再生される前に正しいUIDでエンティティを設定するプロバイダー状態を作成する必要があります(entity 6000d04d-d5d6-4a5f-81d3-7d8a72b46174 exists)。

契約テストを最大限に活用するには、各インタラクションのプロバイダのデータを制御できる必要があります。あなたができないなら、契約テストはあなたの問題空間に適していません。 https://docs.pact.io/documentation/provider_states.htmlhttps://github.com/pact-foundation/pact-ruby/wiki/Why-Pact-may-not-be-the-best-tool-for-testing-public-APIs

をお読みください
関連する問題