开发者社区> 问答> 正文

Spring Cloud Contract测试适用于Maven,但不适用于JUnit

我有一个带有两个模块的Maven项目,一个用于生产者,另一个用于消费者。

Project
-- Producer module
-- Consumer module

在消费者中包含一个依赖于生产者存根,即

<dependency>
    <groupId>com.example</groupId>
    <artifactId>producer-application</artifactId>
    <version>1.0.0-SNAPSHOT</version>
    <classifier>stubs</classifier>
    <scope>test</scope>
</dependency>

并配置了集成测试,因此StubRunner使用类路径扫描,即

@AutoConfigureStubRunner(
        stubsMode = StubRunnerProperties.StubsMode.CLASSPATH,
        ids = "com.example:producer-application:+:8090"
)

在构建期间,将正确执行使用者的集成测试,但是如果我尝试通过IDE(IntelliJ)在本地使用JUnit运行测试,则找不到存根,测试将失败。

这是项目结构的一个问题吗?如果是这样,是否可以在不更改代码的情况下更改使其运行?

问题来源:Stack Overflow

展开
收起
montos 2020-03-22 15:45:37 701 0
1 条回答
写回答
取消 提交回答
  • 类路径从根本上不起作用,例如Intellij不会将存根jar添加到类路径中。这是一个众所周知的问题。

    回答来源:Stack Overflow

    2020-03-22 15:45:51
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
云栖社区特邀专家徐雷Java Spring Boot开发实战系列课程(第20讲):经典面试题与阿里等名企内部招聘求职面试技巧 立即下载
微服务架构模式与原理Spring Cloud开发实战 立即下载
阿里特邀专家徐雷Java Spring Boot开发实战系列课程(第18讲):制作Java Docker镜像与推送到DockerHub和阿里云Docker仓库 立即下载

相关镜像