• Pact
    • 什么是Pact?
    • 消费者驱动的契约
    • 为什么使用Pact
    • 演讲与展示
    • 各种语言的实现
    • 介绍性文章
    • 获得帮助

    Pact

    什么是Pact?

    Pact框架家族提供对消费者驱动的契约测试的支持。

    消费者驱动的契约

    契约是在客户端(消费者)与API端(提供者)之间的一组约定,描述了两者之间所发生的交互。

    消费者驱动的契约是一种从消费者视角来驱动提供者开发的模式。

    Pact是一种可用于确保这些契约被满足的测试工具。

    为什么使用Pact












    信心 更快 更不容易出错

    持续演进你的代码库,Pact将会保证契约被满足。

    不用再搭建端到端的环境。不用再手动测试。

    契约的生成和验证都是由Pact自动管理的。

    更多使用Pact的理由。

    演讲与展示

    关于Pact的介绍,参见Pact作者之一的如下关于Pact的演讲及幻灯片。


    Consumer-Driven Contracts with Pact (Sydney API Days 2015) 来自于 Beth Skurrie

    具体到JVM相关的演讲,在MelbJVM四月的meet-up和Melbourne Microservices六月的meet-up上曾进行过名为Deploy with Confidence!的演讲。演讲幻灯片在这里。

    可以看看Atlassion在其2016 summit上的演讲:Verifying Microservice Integrations with Contract Testing,对消费者驱动的契约(和Pact)作出了很好的解释。

    还可以听听Soundcloud在MicroXchg 2017上的演讲“Move Fast and Consumer-Driven-Contract-Testing Things”。

    各种语言的实现

    • Ruby Pact
    • JVM Pact 和 Scala-Pact
    • .NET Pact
    • JS Pact
    • Go Pact (还有一个v1.1版本的原生Pact Go)
    • Swift / Objective-C Pact
    • Python

    介绍性文章

    • Getting started with Pact
    • …更多文章!

    获得帮助

    你可以从如下渠道获得关于Pact的相关帮助:

    • Stack Overflow:
      https://stackoverflow.com/questions/tagged/pact
    • Gitter: 加入https://gitter.im/realestate-com-au/pact和https://gitter.im/DiUS/pact-jvm的讨论
    • Twitter: @pact_up