Pact-python如何在URL中测试具有UUID的get请求

时间:2017-11-22 13:05:41

标签: python provider pact

我正在使用pact-python(0.10.0)。我想向具有实体ID的提供者发出请求:

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

但是这个(6000d04d-d5d6-4a5f-81d3-7d8a72b46174)应该存在于数据库中。

什么是更好的解决方案:

  1. 使用其中存在的数据创建提供者状态(但提供者验证者将如何工作?合同是否应该具有在真实提供者中出现的ID?)

  2. 查询数据库中的所有ID并选择一个用于发出请求(为此我需要以某种方式更新并发布带有获取ID的协议)

  3. 或者有没有更好的解决方案,我可能错过了?

1 个答案:

答案 0 :(得分:1)

您应该创建一个提供者状态,给定entity 6000d04d-d5d6-4a5f-81d3-7d8a72b46174 exists将在重放交互之前使用正确的UID设置实体。

要充分利用合同测试,您需要能够为每次互动控制提供商中的数据。如果你不能,那么合同测试不适合你的问题空间。阅读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