我们正在使用spring-cloud-contract进行消费者驱动的测试。我有两个消费者(服务)和一个生产者服务。它们都在不同的存储库中。 生产者具有api -/ get / product / 123。每个消费者都有不同的要求。因此,我创建了两个文件夹,并在每个文件夹中放置了一个getProduct.groovy文件。如下图所示:
contracts
│ ├── consumerA
│ │ ├── GetProduct.groovy
│ ├── consumerB
│ │ ├── GetProduct.groovy
两个groovy文件的主体都不同,并在各自的文件夹中生成存根。
答案 0 :(得分:2)
为使stubsPerConsumer
功能起作用,您需要确保在消费者集成测试的StubRunner
设置中将其标志设置为true,例如:
@AutoConfigureStubRunner(ids = "yourids", repositoryRoot = "yourrepository",
stubsMode = StubRunnerProperties.StubsMode.REMOTE,stubsPerConsumer = true)
答案 1 :(得分:2)
向@OlgaMaciaszek添加更多,
可以指定<p>name 1</p>
<p>name 2</p>
<p>name 3</p>
(function($){
$('p').each( function(){
$(this).css( 'color', 'red');
});
})(jQuery)
,该名称必须与生产者consumerName
文件夹中的子文件夹名称相同。
可以选择通过使用application.yaml中指定的应用程序名称来跳过提供/contract
的操作。但这也意味着生产者合同文件夹中的子文件夹必须与消费者的应用程序名称相同。