Data Jpa Test无法加载属性

问题描述 投票:0回答:1

我正在Spring Boot项目中使用Hashi Corp保险库。我能够毫无问题地运行该项目。但是,当我运行单元测试时,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,但仍然无法解析属性

java spring-boot spring-data-jpa spring-cloud spring-cloud-vault-config
1个回答
0
投票

[好,事实证明,在春季引导测试中使用src/main/resources/application-ide.yml中的配置文件时,属性未被库值替换。将同一文件复制到src/test/resources/application-ide.yml可解决此问题。

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

© www.soinside.com 2019 - 2024. All rights reserved.