Pact-jvm java noob questions



我有几个关于Pact JVM(Java)的小问题;

  1. 如果提供者json结构响应是已知的(例如,通过使用Postman查询api),是否可以在不需要运行(java)Consumer Fragment创建方法的情况下将Postman json主体自动转换为协定合同文件,或者例如将其转换为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. 有人能分享一个pact-verify java代码吗?比如,一个pact jvm向在线https(而不是http)rest服务进行验证,比如谷歌、脸书或类似的提供商?(例如:[2]https://jsonplaceholder.typicode.com/posts)

  5. 我在上面的例子[1]中得到了很多java编译错误。有没有任何版本级别的pact(和spring)不太可能与javaspring框架版本不匹配?

感谢您抽出时间!

嗨,请在下面找到回复:

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

2) 协定文件的创建使用协定模拟服务器。所以你不需要真正的服务。该服务应仅在验证阶段启动。

3,4,5)版本起着关键作用,因为该框架正在积极发展。关于处理复杂的json结构,有相当多的例子来展示PactDSL的用法。您可以使用这些来生成服务的json结构
https://github.com/DiUS/pact-jvm/tree/master/pact-jvm-consumer-junit#dsl-匹配方法

对于3),看看这个链接是否能帮助你-http://www.briandupreez.net/2017/03/consumer-driven-testing-with-pact.html下面是pactjvm作者的例子-https://github.com/DiUS/pact-jvm/tree/master/pact-jvm-consumer-junit/src/test/java/au/com/dius/pact/consumer/examples.

最新更新