Springboot单元测试无法读取配置文件的解决方案

Springboot单元测试无法读取配置文件的解决方案

这篇文章主要介绍了跳羚单元测试无法读取配置文件的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

目录

单元测试无法读取配置文件深渊巨坑单元测试加载配置文件启动异常最初以为是配置文件路径写错了最后确认是因为可扩展标记语言配置问题

单元测试无法读取配置文件

首先,测试类要加注解

表示该类是一个测试类,默认会加载资源文件夹下的配置文件。

如果想要指定配置文件:

@ TestPropertySource(类路径:pay。属性’)

深渊巨坑

弹簧靴2,在进行单元测试的时候,

不支持.yml文件

!至文章日期,还未解决。

用yml文件的小伙伴别折腾了,测试文件夹下放一个性能文件吧!

单元测试加载配置文件启动异常

报错内容:无法加载应用程序上下文

URL[file:/D:/KaiFa/pals/IBC/target/classes/spring-mybatis。XML]中定义的名为"数据源"的豆定义无效:无法解析字符串值" ${jdbc.driver} "中的占位符“JDBC。司机”;嵌套异常为Java。郎。illegalargumentexception:无法解析字符串值" ${jdbc.driver} "中的占位符" jdbc.driver "

无法解析字符串值" ${jdbc.driver} "中的占位符" jdbc.driver "

贴一些关键错误,就不全贴了。错误说的在单元测试加载配置文件的时候无法加载jdbc.properties中的配置参数

最初以为是配置文件路径写错了

经过排查后没有问题

检查了引包弹簧试验的版本是发布

属国

groupIdjunit/groupId

artifactIdjunit/artifactId

版本4.12/版本

/依赖关系

属国

groupIdorg.springframework/groupId

artifactId弹簧-测试/artifactId

版本${spring.version}/version

/依赖关系

这是单元测试

@ run with(spring JUnit 4 class runner。类)

@ context配置(locations={ class path *:/spring-MVC。XML ,类路径*:/spring-mybatis。XML })

公共类BaseDao {

@资源

私有HomeXmlService

@测试

公共void csh() {

home Dao c=new home Dao();

homexmlservice。setxml数据(c);

}

}

最后确认是因为xml配置问题

在单元测试加载了spring-mvc和春天-我的巴蒂斯两个文件

在两个配置中我分别加载了性能配置文件。

spring-mybatis.xml

bean id=propertyConfigurer

org。spring框架。豆子。工厂。配置。 propertyplaceholderconfigurer

属性名=位置值=classpath:jdbc.properties /

/bean

spring-mvc.xml

bean class= com。IBC。util。自定义占位符

属性名="位置"

目录

值类路径:属性/URL . properties/值

价值分类路径:比例/综合比率。属性/值

/列表

/属性

/bean

经过不断排查和发现是因为分别引用了性能的问题

后因为是春天-我的巴蒂斯报错,就在家在配置中加入

属性名称= ignoreUnresolvablePlaceholders 值=真/

调试后发现仍然有问题

最终确认,不止spring-mybaits,spring-mvc也要加这句,配置属性的字面意思就是忽略不肯舍弃的占位符

问题解决。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

Springboot单元测试无法读取配置文件的解决方案