自动检查消息提供程序测试是否涵盖契约文件中的所有场景?
Automate a check that the message provider tests cover all scenarios in pact file?
在基于 http 的提供者验证中,消费者可以确定,如果提供者根据 pact 文件验证其代码(例如,使用 maven verify 命令),pact 文件中的所有场景(请求)都将针对提供者进行测试代码。这似乎不是基于消息的提供者验证的情况。在基于消息的情况下,消费者必须希望提供者测试具有为 pact 文件中的所有场景(消息类型)生成消息的测试方法。例如,如果消息的 phone 数字字段的值的允许格式由消息的国家字段的值决定,则协议文件中可能有两个 messages/scenarios,一个是美国国家代码和一个带有 IN 国家代码的代码。国家代码必须完全匹配,phone 数字字段必须匹配两个协议文件场景中的不同正则表达式。我意识到无法控制生成消息所涉及的提供者代码的多少被测试,但至少自动检查提供者是否对契约文件中的每条消息进行了测试可能有助于使消费者和提供者保持同步。关于如何实现这一点的任何想法?还是目标与信息协议时代精神不一致?
In the message based case, the consumer has to hope that the provider tests have test methods that produce messages for all the scenarios (message types) in the pact file
我不关注这个。如果提供者没有为 Pact 文件中的所有消息生成有效响应,则 pact 测试应该失败。
您看不到它使用您的特定语言吗?
在基于 http 的提供者验证中,消费者可以确定,如果提供者根据 pact 文件验证其代码(例如,使用 maven verify 命令),pact 文件中的所有场景(请求)都将针对提供者进行测试代码。这似乎不是基于消息的提供者验证的情况。在基于消息的情况下,消费者必须希望提供者测试具有为 pact 文件中的所有场景(消息类型)生成消息的测试方法。例如,如果消息的 phone 数字字段的值的允许格式由消息的国家字段的值决定,则协议文件中可能有两个 messages/scenarios,一个是美国国家代码和一个带有 IN 国家代码的代码。国家代码必须完全匹配,phone 数字字段必须匹配两个协议文件场景中的不同正则表达式。我意识到无法控制生成消息所涉及的提供者代码的多少被测试,但至少自动检查提供者是否对契约文件中的每条消息进行了测试可能有助于使消费者和提供者保持同步。关于如何实现这一点的任何想法?还是目标与信息协议时代精神不一致?
In the message based case, the consumer has to hope that the provider tests have test methods that produce messages for all the scenarios (message types) in the pact file
我不关注这个。如果提供者没有为 Pact 文件中的所有消息生成有效响应,则 pact 测试应该失败。
您看不到它使用您的特定语言吗?