0

我有一些关于 Pact JVM (Java) 的菜鸟问题;

  1. 如果提供者 json 结构响应已知(例如通过使用 Postman 查询 api),是否可以将 Postman json 主体自动转换为 pact 合同文件,而无需运行(java)消费者片段创建方法,或者示例将其转换为 java PactDslJsonBody() 结构?

  2. 创建 pact 文件时是否需要启动并运行提供程序(spring-boot)(即使 json 响应结构已知)?避免每次创建合约时都需要启动 spring-boot 服务器会很好,尤其是在合约细节已知的情况下?特别是如果为许多微服务创建许多协议合约。

  3. 是否有比教程示例中找到的这个非常小的 json 主体更高级的返回提供程序 json 结构的示例;
    [1] http://the-creative-tester.github.io/Java-Consumer-Driven-Contract-Testing/ 此外,如果可以共享仅验证要返回的结构子集的附加示例,那就太好了存在,因为我们得到了很多随机的响应。

  4. 有人可以向在线 https(而不是 http)rest 服务(例如 google、facebook 或类似提供商)分享一个 pact jvm 验证的 pact verify java 代码示例吗?(或者例如这个:[2] https://jsonplaceholder.typicode.com/posts

  5. 我在上面的示例 [1] 中遇到了很多 java 编译错误。是否有任何版本级别的协议(和 spring)不太可能与 java spring 框架版本不匹配?

谢谢你的时间!

4

2 回答 2

1

嗨,请在下面找到回复:

1)目前没有这样的功能。Consumer Fragment基本上是定义json所以跳过这一步没有意义。

2) 使用 Pact Mock Server 创建 pact 文件。所以你不需要真正的服务。该服务应仅在验证阶段启动。

3,4,5) 版本起着至关重要的作用,因为这个框架正在积极发展。关于处理复杂的 json 结构,有很多例子来展示 Pact DSL 的用法。您可以使用它们来提出服务的 json 结构。
https://github.com/DiUS/pact-jvm/tree/master/pact-jvm-consumer-junit#dsl-matching-methods

于 2017-10-13T07:00:58.287 回答
0

对于 3),查看此链接是否对您有帮助 - http://www.briandupreez.net/2017/03/consumer-driven-testing-with-pact.html 以下是 pact-jvm 作者的示例 - https: //github.com/DiUS/pact-jvm/tree/master/pact-jvm-consumer-junit/src/test/java/au/com/dius/pact/consumer/examples

于 2017-10-17T20:58:00.163 回答