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

itwriter 发布于 2018/08/14 22:56
阅读 2K+
收藏 1

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

@RunWith(SpringRunner.class)
@SpringBootTest

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

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

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

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

加载中
0
itwriter
itwriter

问题解决了。各依赖模块都放一个测试用的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

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

返回顶部
顶部