Настройка переменных среды в Springboot, Gradle и SpringBootTest?

#spring-boot #gradle #junit #spring-boot-test

#весенняя загрузка #gradle #junit #весенняя загрузка-тест

Вопрос:

Я запускаю модульные тесты, и базовый код зависит от наличия некоторых переменных среды. Не свойства приложения, а фактические системные переменные среды. Если они отсутствуют, приложение умрет.

Блок тестирования Gradle

 test {
    useJUnitPlatform()
    testLogging {
        exceptionFormat "full"
        showExceptions = true
        showStackTraces = true
        showStandardStreams = true
    }
    environment "APP_ID", "id"
    environment "STATSD_HOST", "localhost"
    environment "STATSD_PORT", "8125"
}
 

Модульный тест

 @SpringBootTest
@TestPropertySource(value = "classpath:application-test.properties")
public class MyCoolTest {
...
 

Но я все еще получаю NPE для этого значения. Это работает, если я явно принудительно использую переменную env в intellij IDE, но я не хочу делать это таким образом. Есть предложения?

Комментарии:

1. Как вы запускаете тест? Часть IntelliJ или с gradle test ?

2. intellij, работает с gradle