问题标签 [spring-cloud-contract]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
464 浏览

groovy - 如何在没有正则表达式的情况下为 Spring Cloud Contract DSL 构建自己的检查

示例 json:

我不想编写一个正则表达式来接受任何数字作为 id,而是想检查它是否可解析为Integer.

对于 dateTime,我可以编写类似'([0-9]{4})-(1[0-2]|0[1-9])-(3[01]|0[1-9]|[12][0-9])T(2[0-3]|[01][0-9]):([0-5][0-9])'(来自 RegexPatterns 类)的内容,但我只想检查它是否可解析为LocalDateTime.

Marcin回答的解决方案:

在合同中:

在基类中:

0 投票
1 回答
770 浏览

groovy - 如何在 Spring Cloud 合约中创建一个非空地图消费者(使用 groovy)?

我正在为一个 http 请求编写一个spring 云合同,它的一个 json 主体(我们称之为myMap)应该是一个非空映射(字符串到字符串)。所以请求者(又名消费者)必须有这样的东西:“myMap”:{“key”:“val”}

是否可以在合同中强制执行此类内容?

这是我为确保上下文而编写的现有合同的示例:

0 投票
1 回答
759 浏览

spring-cloud-contract - Spring Cloud Contract 和 Spring-WS Endpoints

Spring Cloud Contract 可以用于测试运行 Spring-WS Endpoints 的 Spring Boot 服务吗?我希望能够使用 Groovy DSL 定义 SOAP 请求/响应,但我无法让这些服务与 Spring Cloud Contract 一起使用。当我尝试运行这些测试时,我一直失败(预期为 200,但收到 404)。有趣的是,我在我的 Endpoint 类中添加了 @RestController 和 @RequestMapping 注释(知道它不起作用)只是为了测试这些服务是 Spring-WS 端点而不是 Spring REST 控制器这一事实是否可能是问题(即, Spring Cloud Contract 是否只“看到” REST 端点?)。而且...我转向了一组不同的错误。所以,我现在假设我不能使用 Spring Cloud Contract 来测试我的 SOAP 服务,

我们的核心服务被实现为 REST 服务,但我们仍然必须支持我们的 SOAP 客户端,直到它们可以迁移到 REST,所以它们包装了我们的 REST 服务。我需要同时测试两者的能力。我已经成功地为我们的 REST 服务创建了测试。

0 投票
1 回答
1009 浏览

spring-cloud-contract - Spring Cloud Contract 是否支持 JavaScript 和 JMS?

我想开始使用 Spring Cloud Contract 框架进行合同测试。但是 Spring Cloud Contract 是否支持 JavaScript 和 JMS?

我还没有找到任何有关此的信息。

0 投票
1 回答
851 浏览

spring-cloud-contract - 验证响应 JSON 是 Map 而不是 Array of Maps

在为我们的简单 REST API 编写合约测试时,我注意到我无法表达一个资源返回我的实体的列表/数组和一个只返回一个实体实例的资源之间的区别。

我在哪里测试资源,返回一个条目:

问题是,较低的规范也完美地验证了返回我的实体列表的实际资源..

我该如何表达两者之间的区别?

0 投票
1 回答
430 浏览

spring-cloud-contract - Spring Cloud Contract 中的合同与功能

我了解合同测试用于测试应用程序之间的合同,而不是用作业务功能的检查器。为正面情景写一份合同,为负面情景写一份。

但是想象一下下面的例子:

我的正面案例是在找到客户时(#1)。我可以在 url 中传递变量吗,这在 SCC 中可行吗?我可以在这里使用正则表达式来验证输入吗?

我觉得需要两种否定情况:--用户不存在(#2),--请求无效(#3)

这是合理的还是我错过了关于消费者驱动合同的要点?你会在这些合同上写些什么吗?

我也有关于生产者方面的推理问题。如果上述内容在某种程度上是合理的,那么在生产者方面,我将对合同进行(自动生成)测试,但是如何区分现有客户和不存在客户?我知道合同关心真实数据是没有意义的......但是当用户不存在时如何测试合同(#2)?

0 投票
1 回答
364 浏览

spring-cloud - Spring Cloud Contract 和 Zuul

使用 Spring Cloud Dalston,我们构建了一个代理服务,当然也使用了 Zuul。我现在正在尝试添加 Spring Cloud Contract 测试,以从合同遵守的角度验证我们的代理服务是否按预期工作。奇怪的是,我可以发送请求并收到 200 状态码,但预期的响应正文、内容类型标头等为空,结果我的测试失败。

测试使用 Zuul 功能的服务是否有未在 Spring Cloud Contract 文档中指定的其他配置?

0 投票
1 回答
167 浏览

spring-cloud - Spring Cloud Contract 不适用于 Surefire 2.20

我正在尝试 Spring Cloud Contact:我的 spring-boot 应用程序中有一个端点“/greeting”,它返回“Hello World!”。

合同如下:

我的测试课:

}

一切正常:如果我将上述合同更改为“content”:“Hello!”,则测试失败。

但是,当我将依赖项添加到用户 Surefire 插件时:

然后我用错误的合约再次运行测试(内容“:“你好!”),测试应该失败但它没有。

有什么问题吗?

0 投票
1 回答
516 浏览

spring-cloud-contract - Spring Cloud 合约消费者测试问题

我正在测试 Spring Cloud 合约的消费者端。

提供者在这里:https ://github.com/pkid/spring-cloud-contract-with-surefire 。

从提供程序生成的存根 jar 在这里:https://github.com/pkid/spring-cloud-contract-with-surefire-consumer/blob/master/sample-repo-service-1.0.0-SNAPSHOT-stubs。罐

当我运行消费者测试时(来源在这里:https ://github.com/pkid/spring-cloud-contract-with-surefire-consumer ):

当我执行“mvn test”时,我可以看到存根 jar 已正确找到并解压。但是我收到端点 2“/greeting”不存在的错误(404)。

请你帮助我好吗?谢谢!

0 投票
2 回答
4027 浏览

java - spring cloud contract dsl 指定路径参数

我正在尝试为 GET 请求创建一个合同,并且我想使用一个路径参数,它也可以在响应中重用。这是可能吗?我只能找到 POST、查询参数和正文的示例。因此,如果我想定义一个请求实体的合同,即 /books/12345-6688,我想在响应中重用指定的 ID。

我如何为这样的事情创建合同?