SpringBoot 多模块 多环境 项目 单元测试

环境描述

假设项目中有以下三个yml文件:

  • application.yml
  • application-dev.yml
  • application-prod.yml

假设项目各Module之间依赖关系如下:

其中,D依赖C,C依赖B,B依赖A,D对外提供最终的访问接口

现在要想采用单元测试的方式对B中的方法,采用application-dev.yml配置中的信息,进行单元测试

实现方法

第一步:

在B项目的test资源包(resources)下的、项目启动类所在同一包层次下创建任意类,为该类添加@SpringBootApplication注解,比如:

java 复制代码
@SpringBootApplication
public class BApplicationTest {
}

第二步:

创建单元测试类,在其中通过@ActiveProfiles注解指定yml文件,比如:

java 复制代码
@ActiveProfiles("dev")
@SpringBootTest
public class PermissionMapperTest {
    @Resource
    private PermissionMapper permissionMapper;

    @Test
    void selectByUserId() {
        final List<PermissionVO> permissionVOList = permissionMapper.selectByUserId(1L);
        permissionVOList.forEach(System.out::println);
    }
}
相关推荐
txxzjmzlh7 小时前
SpringBoot 配置⽂件
java·spring boot·spring
Thomas.Sir13 小时前
第13课:MyBatis-Plus整合SpringBoot4.x,分页、条件查询、逻辑删除实战
java·spring boot
小蒜学长18 小时前
编程语言在线学习平台的设计与实现(代码+数据库+LW)
java·spring boot·后端·编程语言在线学习平台·在线编码
Félix25119 小时前
Nacos学习笔记(SpringBoot/SpringCloud)
java·spring boot·spring
lqbzlll20 小时前
Spring Boot 开启虚拟线程后接口反而变慢了?4 个排查方向和对应修法
java·spring boot·后端
企业数字化笔记20 小时前
业务单据怎样接入流程中心?启动条件、实例关联与失败回退
java·spring boot·mysql
孤狼GPT21 小时前
ChatGPT、Codex工程实战:Spring Boot的SSE一直在推送,为什么经过Nginx后前端才一次性显示?
spring boot·chatgpt·sse·codex·chatgptplus
孤狼GPT21 小时前
ChatGPT、Codex性能实战:MySQL升级到8.0后,SQL没改,为什么接口P99反而翻倍?
spring boot·chatgpt·sql优化·codex·mysql8.0
她说..21 小时前
常见设计模式-观察者模式
java·spring boot·spring·观察者模式·设计模式