【发布时间】:2017-01-25 03:49:01
【问题描述】:
我有一个场景,我的提供者服务提供 3 个功能。在消费者端,我有 3 个不同的类来为这 3 个功能编写测试。生成 pact 文件时,它包含具有相同消费者-提供者组合的所有测试。到目前为止,一切都很好。
在提供者测试方面,我希望为 3 个功能提供 3 个类的相同结构。但是,如果我这样做了,并且当我从 1st class 运行测试时,PACT 还会尝试根据 pact 文件搜索其他方法,并且找不到其他方法的 cos 失败。我该如何处理这种情况。
示例:
ConsumerTestClass1
ConsumerTestClass2
ConsumerTestClass3
全部定义以下协议
@Pact(provider = PROVIDER, consumer = CONSUMER)
公共 MessagePact createPactForCareerLevelClassifier(MessagePactBuilder 构建器) {}
现在假设每个类都有 3 个测试方法,所以 pact 文件总共有 9 个
在提供者方面,我有 3 个测试类
提供者TestClass1
提供者TestClass2
提供者TestClass3
ProviderTestClass1 具有使用 @PactVerifyProvider
注释的实际测试
现在,当我为 ProviderTestClass1 运行测试时,PACT 抱怨它无法找到与其他 6 个实际在 ProvdiderTestClass2 和 ProvdiderTestClass3 类中的合同匹配的方法
【问题讨论】:
-
在我看来,您正在尝试同时运行所有契约交互,而不是只运行特定测试所需的交互。如果您可以提供更多信息或可能提供代码示例/图表,它将帮助我弄清楚您要完成的工作。
-
我加了一个例子,看看有没有帮助