开发者社区> 问答> 正文

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

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

@RunWith(SpringRunner.class)
@SpringBootTest

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

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

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

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

展开
收起
爱吃鱼的程序员 2020-06-06 15:49:48 3210 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB
                        <p>问题解决了。各依赖模块都放一个测试用的Application类即可。</p>
    

    测试类配置:

    @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

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

    2020-06-06 15:50:06
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
移动互联网测试到质量的转变 立即下载
给ITer的技术实战进阶课-阿里CIO学院独家教材(四) 立即下载
F2etest — 多浏览器兼容性测试整体解决方案 立即下载

相关镜像