Java使用者和JavaScript提供者的契约测试
我们有两项服务,其中一项是另一项的消费者。使用者是用Java编写的,提供者是用JavaScript编写的 在消费者方面,我们已经使用pact jvm定义了消费者契约测试,并且我们能够生成契约。在本合同中,响应的定义如下:Java使用者和JavaScript提供者的契约测试,javascript,java,pact,Javascript,Java,Pact,我们有两项服务,其中一项是另一项的消费者。使用者是用Java编写的,提供者是用JavaScript编写的 在消费者方面,我们已经使用pact jvm定义了消费者契约测试,并且我们能够生成契约。在本合同中,响应的定义如下: "response": { "status": 200, "headers": { "Content-Type": "application/json" },
"response": {
"status": 200,
"headers": {
"Content-Type": "application/json"
},
"body": [
"test"
]
},
在我们的提供商上,我们现在尝试使用pact js定义提供商合同测试,但我们遇到了一个问题,在pact js中,我们使用MessageProviderPact
来验证合同。但在运行测试时,正文应位于如下内容属性中:
Key: - is expected
+ is actual
Matching keys and values are not shown
-[
- "test"
-]
+{
+ "contents": {
+ "statusCode": 200,
+ "body": "[test]"
+ }
+}
用于pact验证的代码
const p = new MessageProviderPact({
messageProviders: {
'': handler
},
provider: 'provider-service',
pactUrls: [
path.resolve(
process.cwd(),
'pacts',
'consumer-service-provider-service.json'
)
]
});
有没有办法解决这个问题?是否可以在消费者端使用内容键的类似消息结构?或者我们可以在提供者端以任何其他方式解决它
MessageProviderPact
用于消息队列类型的交互,而不是HTTP交互。我认为您需要标准的验证器类():
const{Verifier}=require('@pact foundation/pact');
让选项={
...
};
新验证器(opts).verifyProvider().then(函数(){
//做点什么
});
MessageProviderPact
用于消息队列类型的交互,而不是HTTP交互。我认为您需要标准的验证器类():
const{Verifier}=require('@pact foundation/pact');
让选项={
...
};
新验证器(opts).verifyProvider().then(函数(){
//做点什么
});
这方面有什么更新吗?我使用与你类似的设置。Java Provider和JavaScript consumerAs建议,此处的MessageProviderPact
是错误的选择。使用标准的验证器
类,它正在进行任何更新?我使用与你类似的设置。Java Provider和JavaScript consumerAs建议,此处的MessageProviderPact
是错误的选择。使用标准的验证器
类,它正在工作