首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >春季云合同POC

春季云合同POC
EN

Stack Overflow用户
提问于 2020-01-18 21:40:36
回答 2查看 1.7K关注 0票数 1

我正试图为我的团队创建一个使用Spring云契约的POC示例。

我得到了制片人的绿卡,但在消费者方面,我一直得到。

No stubs or contracts were found for [com.datson:cloudcontract-producer:+:stubs] and the switch to fail on no stubs was set.合同是存在的。

我尝试了几个用例,如官方spring云文档中所描述的那样。

@AutoConfigureStubRunner(ids = "com.datson:cloudcontract-producer:+:8080", stubsMode = StubRunnerProperties.StubsMode.LOCAL)

@AutoConfigureStubRunner(ids = "com.datson:cloudcontract-producer:+:stubs"

https://cloud.spring.io/spring-cloud-contract/reference/html/getting-started.html#getting-started-cdc-consumer-run

下面是消费者代码示例:https://github.com/Yayan89/springboot-config-server/tree/master/cloudcontract-consumer

下面是生产者代码示例:https://github.com/Yayan89/springboot-config-server/tree/master/cloudcontract-producer

可能是我错过的傻事。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-01-18 22:04:00

在提供的示例中,您需要在本地m2中安装一个jar,以便从消费者端获取jar(请阅读有关如何直接从驱动器获取合同的文档)。如果您检查此示例和gradle build https://github.com/spring-cloud-samples/spring-cloud-contract-samples/blob/master/scripts/runGradleBuilds.sh#L37,您将看到您应该运行这样的程序

代码语言:javascript
复制
./gradlew build publishToMavenLocal

假设您有maven-publish插件或

代码语言:javascript
复制
./gradlew build install

假设您有一个maven插件

票数 2
EN

Stack Overflow用户

发布于 2020-01-19 23:05:09

谢谢回答:MarcinGrejszzak,我只想确定我是否正确理解。生产者需要发布mavenlocal (.m2),以便消费者能够构建它。我的陈述正确吗?

id 'maven-publish'和我们需要在gradle/mvn构建中添加我们的生产者

代码语言:javascript
复制
implementation("com.datson:cloudcontract-producer:+:stubs") {
        transitive = false
    }

我的代码现在适用于

代码语言:javascript
复制
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.MOCK)
@AutoConfigureStubRunner(
    stubsMode = StubRunnerProperties.StubsMode.LOCAL,
    ids = "com.datson:cloudcontract-producer:+:stubs:0.0.1:8090"
)
@AutoConfigureMockMvc
public class LoanApplicationServiceTest {

@Autowired
MockMvc mockMvc;

@Test
public void given_WhenPassEvenNumberInQueryParam_ThenReturnEven() throws Exception {

    mockMvc.perform(MockMvcRequestBuilders.put("/fraudcheck")
        .contentType(MediaType.APPLICATION_JSON))
        .andExpect(MockMvcResultMatchers.status().isOk())
        .andExpect(MockMvcResultMatchers.content().string("Even"));
}}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59805138

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档