Код: Выделить всё
service
├── network
│ ├── src
│ │ ├── main
│ │ ├── test
│ │ │ └── resources
│ │ │ └── application-bridge-to-bridge-test.properties
│ └── resources
├── devenv
│ └── resources
│ └── application.properties (contains all properties needed for production)
└── pom.xml
- Тесты сетевого модуля должны инициализировать свойства из application.properties, а затем переопределить определенные значения с помощью application-bridge -to-bridge-test.properties (специфические для сетевых тестов).
- Локально мне удалось это сделать с помощью добавив следующее в мой класс тестирования сети:
Код: Выделить всё
@TestPropertySource(locations = {
"file:../devenv/src/main/resources/application.properties.properties",
"classpath:application-bridge-to-bridge-test.properties"
})
Код: Выделить всё
java.lang.IllegalStateException: Failed to add PropertySource to Environment...
Мы не можем импортировать модуль devenv в сеть, поскольку сеть является зависимостью от devenv. Эта циклическая зависимость нарушит сборку.
Мой вопрос:
- Есть ли как решить эту проблему, чтобы тесты работали в конвейере CI/CD?
- Как лучше всего управлять общими свойствами между модулями, чтобы избежать дублирования? Файлы свойств network и devenv в основном идентичны, и разработчики легко забывают обновить оба файла при внесении изменений.
Подробнее здесь: https://stackoverflow.com/questions/790 ... ven-projec