我的微服务与之交互的第三方服务使用内容类型应用程序/ JavaScript返回响应; charset = UTF-8。因此,pact json将响应体作为字符串&匹配规则有一个空体。
使用以下pact依赖项:
testIntegrationCompile('au.com.dius:pact-jvm-consumer-junit_2.12:3.5.11')
testIntegrationCompile('au.com.dius:pact-jvm-provider-junit_2.12:3.5.11')
testIntegrationCompile('au.com.dius:pact-jvm-provider-spring_2.12:3.5.11')
testIntegrationCompile('au.com.dius:pact-jvm-consumer-java8_2.12:3.5.11')
答案 0 :(得分:0)
首先,不,Pact不支持javascript代码。正如您所注意到的那样,它只会将主体视为字符串。您仍然可以使用字符串体进行合同测试,但它们会非常脆弱,因为一个字符的差异会使匹配失败。
其次,如果 是javascript的匹配器,你会期待什么行为?
第三,Pact不是测试第三方API的好工具。它专门针对消费者驱动的合同测试编写,而不是一般的API模拟。请阅读此处的文档:https://docs.pact.io/getting-started/what-is-pact-good-for