0

我有一个场景,我的提供者服务提供 3 个功能。在消费者端,我有 3 个不同的类来为这 3 个功能编写测试。生成 pact 文件时,它包含具有相同消费者-提供者组合的所有测试。到目前为止,一切都很好。

当涉及到提供者测试时,我希望为 3 个功能提供 3 个类的相同结构。但是,如果我这样做了,并且当我从 1st class 运行测试时,PACT 还会尝试根据 pact 文件搜索其他方法,并且找不到其他方法的 cos 失败。我该如何处理这种情况。

示例:
ConsumerTestClass1
ConsumerTestClass2
ConsumerTestClass3

都定义以下协议
@Pact(provider = PROVIDER, consumer = CONSUMER)
public MessagePact createPactForCareerLevelClassifier(MessagePactBuilder builder) {}

现在假设每个类都有 3 个测试方法,所以 pact 文件总共有 9 个

在提供者方面,我有 3 个测试类
ProvdiderTestClass1
ProvdiderTestClass2
ProvdiderTestClass3

ProviderTestClass1 有实际测试用@PactVerifyProvider
注释 现在当我为 ProviderTestClass1 运行测试时,PACT 抱怨它无法找到与其他 6 个实际在 ProvdiderTestClass2 和 ProvdiderTestClass3 类中的合同匹配的方法

4

1 回答 1

0

听起来您没有指定要@PactVerifyProvider声明,因此它正在运行所有这些。

你应该参考这个例子,你可以清楚地看到状态是通过参数设置的,这样@PactVerifyProvider('an order confirmation message')只会验证相同描述的 Pact 交互。

于 2017-01-30T05:52:24.017 回答