这篇文章主要介绍了跳羚单元测试无法读取配置文件的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
目录
单元测试无法读取配置文件深渊巨坑单元测试加载配置文件启动异常最初以为是配置文件路径写错了最后确认是因为可扩展标记语言配置问题
单元测试无法读取配置文件
首先,测试类要加注解
表示该类是一个测试类,默认会加载资源文件夹下的配置文件。
如果想要指定配置文件:
@ 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也要加这句,配置属性的字面意思就是忽略不肯舍弃的占位符
问题解决。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。