maven子模块(SpringBoot)存在依赖,如何做junit单元测试?

发布于 2021-12-07 18:19:03 字数 330 浏览 897 评论 2

如果没有多个模块,十分简单,加两个注解就好了:

@RunWith(SpringRunner.class)
@SpringBootTest

但在多模块下这么做会报找不到Spring上下文的错误。

查了各种资料,但还没找到可行的办法。网上流传的有一定可行性的方法,是每个模块都各自写一个测试配置类。

但在测试的功能需要使用其余模块的配置(properties文件和Configuration类)时,依然会报错。

比如说common模块的配置类和配置文件,有数据库连接等信息;而user模块的功能测试需要用到。跑程序时没问题,但单元测试时该如何获取其余模块的配置?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

辞别 2021-12-08 01:22:17

这能解决循环依赖的问题么??

凡尘雨 2021-12-07 18:21:47

问题解决了。各依赖模块都放一个测试用的Application类即可。

测试类配置:

@RunWith(SpringRunner.class)
//@ContextConfiguration(classes = {TestConfiguration.class})
@ActiveProfiles(profiles = {"dev"})
@SpringBootTest(classes=TestApplication.class)
public class RedisTest {

测试Application配置:

@Configuration
@ComponentScan("com.XXX.tpl")
@EnableJpaRepositories(basePackages="com.XXX.tpl")
@EntityScan("com.XXX.tpl")
@SpringBootApplication
public class TestApplication

之前一直报错,是因为我的其余配置有误,产生了配置冲突……

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文