【springboot test】springboot 单元测试配置文件加载顺序及覆盖关系

这篇具有很好参考价值的文章主要介绍了【springboot test】springboot 单元测试配置文件加载顺序及覆盖关系。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

参照目录结构:

springboottest加载配置文件,Spring,spring boot,单元测试,java,spring,junit

1.配置文件加载基础原则:

通过任意方式指定的application-xxx.yml中会覆盖application.yml中同名配置,application.yml一般作为兜底或通用配置

2.application.yml主配置文件加载原则:

[ 实际运行的application.yml ] = [ test/resources/application.yml ] ? [ test/resources/application.yml ] : [ main/resources/application.yml ]

3.application.yml中指定spring.profiles.active:xxx时,xxx的加载原则:

[ 实际运行的application-xxx.yml ] = [ test/resources/application-xxx.yml ] ? [ test/resources/application-xxx.yml ] : [ main/resources/application-xxx.yml ]

4.使用@ActiveProfiles(“yyy”)时:

  • yyy会覆盖 application.yml中指定spring.profiles.active:xxx 指定的xxx, xxx不生效
  • application-yyy.yml加载原则同 原则3
  • yyy可与xxx一致, 原则同理

5.其他自定义配置文件,如xxx.properties:

5.1

  • 一般自定义xxx.properties有对应的xxxBean, 会用@PropertySource指定xxx.properties
  • 此时[ 实际运行的alipay.properties ] = [ test/resources/alipay.properties ] ? [ test/resources/alipay.properties ] : [ main/resources/alipay.properties ]
  • test 和 main 不会同时加载
@Data
@Component
@PropertySource(value = {"classpath:/xxx.properties"})
@ConfigurationProperties(prefix = "xxx")
public class XxxBean {...}

5.2@PropertySource(“classpath:/xxx.properties”)同时使用@TestPropertySource(“classpath:yyy.properties”)时:文章来源地址https://www.toymoban.com/news/detail-636914.html

  • yyy.properties和xxx.properties同时加载
  • yyy.properties优先覆盖xxx.properties同名内容
  • xxx/yyy.properties 的 main/test位置读取原则同上
@ActiveProfiles("sb")
@TestPropertySource({"classpath:yyy.properties"})
@SpringBootTest(classes = AlipayApplication.class)
@RunWith(SpringRunner.class)
public class SpringTest {...}

到了这里,关于【springboot test】springboot 单元测试配置文件加载顺序及覆盖关系的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Springboot Unit Test(单元测试)

    单元测试,是指对程序中的最小可测试单元进行验证,在Java中的话,就是类。其有两个目的: 验证程序实现的逻辑是否与设计的逻辑正确 在涉及到代码修改时,用单元测试去保证原有功能不被破坏, 而一个好的单元测试应该具备以下FIRST 原则和AIR原则中的任何一条: 单元

    2024年03月22日
    浏览(40)
  • Springboot的Test单元测试操作

    Springboot的Test单元测试操作 简单总结需要操作的步骤 1,导入依赖 2,创建目录(目录和启动类的目录保持一致) 3,添加注解 4,写方法测试 1,导入依赖 2,创建目录(目录和启动类的目录保持一致),并test目录绿色标记一下 3,添加注解 注意的是,这里的test的类路径impo

    2024年04月25日
    浏览(28)
  • SpringBoot单元测试(unit testing)

    目录 1.什么是单元测试? 2.单元测试的优点 3.关于单元测试框架 4.单元测试的实现

    2024年02月16日
    浏览(34)
  • 13.Springboot整合junit5单元测试与生成单元测试覆盖率

    现在基本大公司都要求单元测试了,保证我们代码得质量,而我司更是要求覆盖率要达到60%以上,所以搞一下。 这里有两个方法: 1.使用maven自带得test,idea右侧maven模块执行项目下得test 2.使用cmd命令,在你的项目pom文件所在目录 ,打开cmd,执行如下: 结果如下:打开site文

    2024年02月16日
    浏览(30)
  • springboot项目test单元测试java.lang.NullPointerException问题

    最近在测试写好mapper相关接口时是,出现空指针异常,所以记录一下。 在测试用户登录时,出现如下错误 测试方法 错误信息 通过分析日志了解到原因是 无法调用“AdminUserMapper.login(String, String)”,因为“this.adminUserMapper”为空 应该是AdminUserMapper没有注入进来,但是自己

    2024年02月02日
    浏览(71)
  • Springboot 多模块项目集成Jacoco统计单元测试覆盖率

    jenkis服务器需要配置Jacoco 常见报错: Not compiling test sources Skipping JaCoCo execution due to missing execution data file. 修改插件配置

    2024年02月09日
    浏览(28)
  • JUnit单元测试,test文件夹创建,测试类的创建

    软件测试是软件生命周期的一个重要过程。软件生命周期软件测试有很多的分类,这里我们主要说的是单元测试(测试分类这个分类很清晰,可以看看) test文件夹中专门用来写测试程序,以下是步骤: 此时,你会发现你创建的test文件夹变成了绿色,则说明你已经成功创建。

    2024年02月12日
    浏览(31)
  • Spring Test中使用MockMvc进行上传文件单元测试时,报NullPointerException

    问题 : MockMvc peform在集成测试中返回nullPointerException 原因 : springboot-2.x版本以上,当你添加依赖spring_boot_starter_test后,可以在内部看到自带了jupiter测试核心模块,也就是 junit5,junit5(jupiter测试引擎)不再支持junit4(vintage测试引擎),在使用时自然不再需要spring来提供了,

    2024年02月14日
    浏览(37)
  • springboot项目使用Junit5 + mockito + jacoco 实现单元测试以及代码覆盖率检查

    在创建springboot项目时会默认添加spring-boot-starter-test依赖,其中已经包含了junit、mockito依赖,根据springboot版本的不同junit和mockito的版本也会有所不同 先说一下各自功能: junit只说一点,junt4和junit5的注解不同,使用方式略有差异,其他不赘述了,基本用法都懂。 mockito是mock的

    2023年04月23日
    浏览(43)
  • Spring Boot 的系统配置文件加载顺序

    【理论介绍】 配置文件加载顺序: 1、项目根目录下的config目录。【优先级最高】 2、项目根目录。 3、classpath下的config目录。 4、classpath目录(新建项目时application.properties默认所在位置)。【优先级最低】 备注: 加载顺序:4 - 3 - 2 - 1。 优先级:逐渐减低(1234)。 【举例说

    2024年02月09日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包