我有一个场景,我的提供商服务提供3个功能。在消费者端,我有3个不同的类来为这3个功能编写测试。生成pact文件时,它包含具有相同使用者 - 提供者组合的所有测试。到现在为止还挺好。
当涉及提供者测试时,我希望具有3个功能的3个类的相同结构。但是如果我这样做,当我从第一类运行测试时,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类中
答案 0 :(得分:0)
听起来你没有指定@PactVerifyProvider
状态,因此它正在运行所有状态。
您应该参考this example,在那里您可以清楚地看到状态是通过像@PactVerifyProvider('an order confirmation message')
这样的参数设置的,这样只会验证相同描述的Pact交互。