gpt4 book ai didi

java - 尝试 Autowiring 使用 MockitoJUnitRunner 运行的配置属性时出现 NullPointerException

转载 作者:太空宇宙 更新时间:2023-11-04 09:36:34 27 4
gpt4 key购买 nike

我一直在尝试在测试类中使用配置属性,但找不到方法,因为我总是遇到 NullPointerException。

application.yaml

affix:
lover: 'interests'
social: 'social_media'

YamlConfig.java

@Configuration
@EnableConfigurationProperties
@ConfigurationProperties
@EnableAutoConfiguration
@Data
public class YamlConfig {
private HashMap<String, String> affix;
}

服务.java

@Autowired
private YamlConfig config;

...

setFeatureName(config.getAffix().get("social"));
// supposed to return social_media

上面的代码在我的服务中运行良好,但是当我尝试在测试类中使用配置属性时,它不起作用。

ServiceTest.java

@RunWith(MockitoJUnitRunner.class)
public class MetadataServiceTest {
@Autowired
private YamlConfig config;

@Test
public void testPropertiesNotNull() {
assertNotNull(config.getAffix().get("social"));
}

我也尝试过其他注释,但似乎都不起作用。大多数示例都使用 JUnitRunner 运行测试,我不确定这是否是它们在我的测试类上不起作用的原因。

无论如何,是否可以使用 MockitoJUnitRunner 获取配置属性以在测试类中使用,而无需模拟整个事物(实际配置非常大,很难模拟每个配置的结果)?

最佳答案

您在测试中的@Autowired将被忽略,因为您没有选择任何Spring上下文。使其成为带有注释的集成 Spring 测试。

关于java - 尝试 Autowiring 使用 MockitoJUnitRunner 运行的配置属性时出现 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56439978/

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