gpt4 book ai didi

java - 数据 Jpa 测试无法加载属性

转载 作者:行者123 更新时间:2023-12-01 16:19:29 24 4
gpt4 key购买 nike

我在 Spring Boot 项目中使用 Hashi CorpVault。我能够毫无问题地运行该项目。但是当我运行单元测试时,secret-idrole-id 没有被传递。我尝试了以下方法,但出现异常,说两者都是空的。尝试对值进行硬编码,但这也不起作用

EmployeeTest.java

@RunWith(SpringRunner.class)
@DataJpaTest
@ActiveProfiles(value = "ide")
@AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.NONE)
public class EmployeeTest
{
private final Logger logger= LoggerFactory.getLogger(getClass());

@Autowired
EmployeeRepository employeeRepository;

@Test
public void getEmployeeById()
{
Employee employee=employeeRepository.getOne(13L);
logger.info(employee.toString());
}
}

更新:我可以通过 VM 参数传递 secret-idrole-id,但属性仍然无法解析

最佳答案

好吧,事实证明,当使用 src/main/resources/application-ide.yml 的配置文件时在 Spring Boot 测试中,属性不会被Vault 值替换。将同一文件复制到 src/test/resources/application-ide.yml解决了这个问题。

TL;DR对于 Spring Boot 测试,最好使用 src/test/resources 中的属性文件。而不是src/main/resources

关于java - 数据 Jpa 测试无法加载属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62311070/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com