java - 在 Spring Boot 测试中获取配置属性类 bean

标签 java spring spring-boot spring-test spring-boot-test

我定义了一个类,可以自动从我的 sprintboot 应用程序中的 applicaton-*.properties 加载属性:

@Component
@ConfigurationProperties("my-app")
@EnableConfigurationProperties
@Data
public class MyAppProperties {

  private String propertyX;
  private String propertyY;

..

}

现在这是我的测试类(class):

@SpringBootTest(webEnvironment = WebEnvironment.DEFINED_PORT)
public class MessageProcessorApplicationTests {

  @Autowired
  private static RestTemplate restTemplate;

  @Autowired
  public static MyAppProperties myAppProperties;

  @Test
  public void testSomething(){
     doSomeSeetup(myAppProperties.getPropertyX()) //myAppProperties is null!! why?
}

在我的测试中,myAppProperties 始终为空。我如何在我的测试中获得这个实例?

最佳答案

注释MessageProcessorApplicationTests@RunWith(SpringRunner.class)自动加载application.properties文件

@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = WebEnvironment.DEFINED_PORT)
public class MessageProcessorApplicationTests {

@Autowired
  private static RestTemplate restTemplate;

  @Autowired
  public static MyAppProperties myAppProperties;

  @Test
  public void testSomething(){
     doSomeSeetup(myAppProperties.getPropertyX());

}

关于java - 在 Spring Boot 测试中获取配置属性类 bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62370911/

相关文章:

java - CodeAbbey 挑战 14 数据输入问题?

java - 将日期存储在数据库中是 Java 的最佳实践吗?

java - 单击另一个选项卡的按钮后如何执行包含在一个选项卡中的try-catch-Blackberry

java - 如何在Spring应用程序中访问图像文件夹

java - Hibernate 4 EntityManager CriteriaBuilder sortby 嵌套属性

Java 11 升级缺少 javax.annotation.security

java - 我可以扩展 @Component 并创建另一个 @Component 类并一次只提供一个吗?

java - 通过二叉搜索树中单词计数的降序打印单词计数器

java - 为什么我的 Spring + jax-ws web 应用程序中只有一个 '@Qualifier' 注解?

java - Spring Cloud 契约(Contract) : Multiple controllers