Я пытался использовать свойства конфигурации в своих тестовых классах, но не мог найти способ сделать это, поскольку я всегда получаю NullPointerException.
application.yaml
affix:
lover: 'interests'
social: 'social_media'
YamlConfig.java
@Configuration
@EnableConfigurationProperties
@ConfigurationProperties
@EnableAutoConfiguration
@Data
public class YamlConfig {
private HashMap<String, String> affix;
}
Service.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 без насмешки всего этого (фактическая конфигурация очень велика и будет трудно смоделировать результат для каждого)?