首页 > 解决方案 > @Value 注释不适用于 STS 3.9.6 上的 Infinitest 5.2.0

问题描述

当 Infinitest 抱怨错误的配置值触发 JUnit 测试时会失败。例如

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'databaseConfiguration': Injection of autowired dependencies failed; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'spring.data.mongodb.database' in value "${spring.data.mongodb.database}"

似乎没有加载应用程序属性,尽管它们存在于资源文件夹中并且在手动运行测试时工作正常。

我正在使用带有 Infinitest 5.2.0 的 Spring Tool Suite 3.9.6

单元测试是这样注释的

@RunWith(SpringRunner.class)
@SpringBootTest
@ContextConfiguration(classes = ChargeConsumerApplication.class)
@ActiveProfiles("test")
public class ChargeConsumerApplicationTest {

    @Test
    public void contextLoads() {
    }

    @Test
    public void applicationContextLoaded() {
    }

    @Test
    public void applicationContextTest() {
        ChargeConsumerApplication.main(new String[] {});
    }
}

是 STS 问题还是我需要为 Infinitest 本身进行一些额外配置?

标签: springjunit4spring-tool-suiteinfinitest

解决方案


推荐阅读