技术分享
SpringBoot单元测试时读取properties报错
00 分钟
2023-12-27
2024-1-6
type
status
date
slug
summary
tags
category
icon
password

SpringBoot单元测试时读取properties报错

 
💡
SpringBoot单元测试时读取properties报错
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'elasticSearchConfiguration': Injection of autowired dependencies failed; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'spring.elasticsearch.host' in value "${spring.elasticsearch.host}"
在使用 Spring Boot 进行单元测试时,如果遇到「could not resolve placeholder 'spring.profiles.active'」的错误提示,通常是因为你在测试用例中使用了 @ActiveProfiles 注解来激活某些特定的配置文件,但是你的项目中并没有这些指定的配置文件。 为了解决这个问题,你需要检查你的测试用例中是否使用了 @ActiveProfiles 注解,并确保项目中存在指定的配置文件。如果你确实使用了 @ActiveProfiles 注解,但是没有找到指定的配置文件,你可以尝试将配置文件放在 src/test/resources 目录下,以便在测试时能够找到这些文件。 同时,你也可以在测试用例中使用 @TestPropertySource 注解来指定一组属性文件,这样就可以在测试时载入指定的属性文件。 例如,你可以这样使用 @TestPropertySource 注解: