Java PACT:如何匹配PACT jvm DSL中的特定日期时间格式?
将pact jvm DSL与spring boot(.timestamp(名称、格式、示例)一起使用,我可以同时指定:Java PACT:如何匹配PACT jvm DSL中的特定日期时间格式?,java,pact,Java,Pact,将pact jvm DSL与spring boot(.timestamp(名称、格式、示例)一起使用,我可以同时指定: .timestamp("start", "dd-MM-yyyyy'T'HH:mm:ss'Z'", Instant.parse("2020-10-06T20:48:58.402Z")) 及 甚至 .timestamp("start", "dd-MM-yyyyyyy'T'HH:mm:ss'Z
.timestamp("start", "dd-MM-yyyyy'T'HH:mm:ss'Z'", Instant.parse("2020-10-06T20:48:58.402Z"))
及
甚至
.timestamp("start", "dd-MM-yyyyyyy'T'HH:mm:ss'Z'", Instant.parse("2020-10-06T20:48:58.402Z"))
而且测试还是通过了
如果您发送的是日期dd-MM-yyyyy而不是yyy-MM-dd,则我的真正提供商服务错误,但我无法理解当消费者端的测试错误地向提供商API发送错误格式的JSON时间戳时,您应该如何让测试失败
也就是看起来像这样的钻头:
@Test
@PactTestFor(pactMethod = "postTheThing")
public void pactWithProvider() {
client.makeApiCall(testPayload);
}
消费者测试只有在添加一些验证时才会失败。假设契约在消费者端转换为存根,仅此而已
只需在您的消费者测试中添加一些
mockition#verify
验证即可。我认为测试用例会通过,因为pact框架不会验证数据,但与预期的pact文件相比,响应中只有json元素。例如,字段start更改为startDate,但pact文件中的预期字段为'st'然后你的测试用例失败了。
@Test
@PactTestFor(pactMethod = "postTheThing")
public void pactWithProvider() {
client.makeApiCall(testPayload);
}