微服务场景下的自动化测试(7)

发表于:2016-10-04来源:icodeit.org/作者:icodeit.org点击数: 标签:微服务
(Consumer Driven Contract)的事实标准了。它已经有多种语言的实现, Java 平台的可以使用 pact-jvm 及相应的 maven / gradle 插件进行开发。 pact / pact-jvm pact-broke
 (Consumer Driven Contract)的事实标准了。它已经有多种语言的实现,Java平台的可以使用 pact-jvm 及相应的 maven / gradle 插件进行开发。

(图片来源: Why you should use Consumer-Driven Contracts for Microservice integration tests )

通常在工程实践上,当消费者根据需要生成了契约之后,我们会将契约上传至一个公共可访问的地址,然后生产者在执行时会访问这个地址,并获得最新版本的契约,然后对着这些契约来执行相应的验证过程。

一个典型的契约的片段是这样的(使用pact):

"interactions": [
    {
        "description": "Project Service",
        "request": {
            "method": "GET",
            "path": "/projects/11046"
        },
        "response": {
            "status": 200,
            "headers": {
                "Content-Type": "application/json; char 



           

原文转自:http://icodeit.org/2016/10/testing-in-microservice-context/