Установка переменной среды для интеграционных тестов, управляемых Maven - PullRequest
0 голосов
/ 07 февраля 2020

Можно ли установить переменную среды из теста интеграции Citrus Framework? Я спрашиваю, потому что мои сервисы используют log4j для регистрации выходных данных консоли, а файл конфигурации (log4j2-spring. xml) использует переменные окружения для установки имен файлов журнала, и т. Д. c. Было бы удобно сделать это.

Ответы [ 2 ]

1 голос
/ 18 февраля 2020

Как правило, изменение настроек среды для уже работающего экземпляра JVM и обновление изменений в вашей работающей системе (например, в приложении Log4J для ведения журналов) не легко и может работать не во всех ситуациях. Поэтому я уверен, что это не то, что вы должны пытаться сделать.

С точки зрения Citrus вы можете запустить любой код Java или Groovy как часть интеграционных тестов, так что вы также можете иметь все мыслимые хаки как часть интеграционного теста. Но, как я уже сказал, это не то, что вы действительно хотите.

0 голосов
/ 18 февраля 2020

Оказывается, это был не столько вопрос о том, как это сделать в Citrus Framework, а скорее с настройкой переменных среды для интеграционных тестов maven.

Мне удалось установить переменные среды Мне нужно было провести интеграционные тесты через maven, добавив в конфигурацию spring-boot-maven-plugin следующее:

  <plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <configuration>
      ...
      <environmentVariables>
        <env-var-name>env var value</env-var-name>
        ...
      </environmentVariables>
    </configuration>
    ...
  </plugin>

Как только соответствующие переменные установлены, выходные данные тестовой консоли записываются в том месте, куда они направлены по конфигурации в log4j2-test.xml, расположенном в src/test/resources.

См. вопрос Ведение журнала Citrus Framework - как включить / использовать .

...