Как загрузить свойства из Application.properties с @extendwith (springextension.class)JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как загрузить свойства из Application.properties с @extendwith (springextension.class)

Сообщение Anonymous »

Я пытаюсь выучить Spring Boot, и я пытался получить четкое понимание тестирования. Простой интегрированный тест с моими собственными бобами, и я также хочу загрузить свойства конфигурации, возможно ли использовать это с помощью @value? Он отлично работает с @springboottest, поэтому я знаю, что свойства загружаются нормально при полном приложении.misc.test-prop-value=testPropValue
< /code>
@ExtendWith(SpringExtension.class)
public class ConfigPropertiesTest {

@Value( value = "${misc.test-prop-value}")
private String testPropValue;

@Value("${some.non.existent.value}")
private String nonExistentValue;

@Test
void testNonExistentValue() {
assertNull(nonExistentValue); // Fails, the value is: ${some.non.existent.value}
}

@Test
public void testConfigProperties() {
assertEquals("testPropValue", testPropValue); //Fails, the value is: ${misc.test-prop-value}
}

}
< /code>
Почему @value собирает сам ключ?@ExtendWith(SpringExtension.class)
public class SpringExtensionBasicTest {

@Autowired
private ApplicationContext applicationContext;

@Test
void contextLoads() throws Exception {
//GenericApplicationContext instance:
System.out.println("Context instance: " + applicationContext.getClass());
assertNotNull(applicationContext); // Test passes
}

}
< /code>
Когда я расширяю базовый класс, в котором есть @springboottest,
Все работает нормально, он загружает контекст, и есть даже ошибка, когда некоторые. non.vensistent.value Product настолько очевидно, что никто даже не объяснил это, но я не получаю его. Значение, которое является нулевым с @springboottest, по -прежнему показывает тот же ключ: < /p>
@ExtendWith(SpringExtension.class)
@TestPropertySource(value = "classpath:application.properties")
public class ConfigPropertiesTest {

@Value( value = "${misc.test-prop-value}")
private String testPropValue;

@Value("${family.mother}")
private String mamaValue;

/**
* When a non-existent value is there,
* It is not null for some strange reason,
* But it still shows the key
*/
@Value("${some.non.existent.value}")
private String nonExistentValue;

@Test
void testNonExistentValue() {
//Still shows ${some.non.existent.value}
assertNull(nonExistentValue);
}

@Test
void testPropValue1() {
assertEquals("Mama-test", mamaValue); //Ok
}

@Test
public void testConfigProperties() {
assertEquals("testPropValue", testPropValue); //Ok
}

}


Подробнее здесь: https://stackoverflow.com/questions/790 ... ringextens
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»