Как я могу проверить файловый ввод / вывод в контейнерах интеграционных тестов в Spring Boot? - PullRequest
0 голосов
/ 25 октября 2019

Я создаю весеннее загрузочное приложение;для тестирования интеграции я использую docker, с базой данных mysql и тестовыми данными, я издеваюсь над другим сервисом, с которым ему нужно взаимодействовать.

Все это прекрасно работает.
Однако моя проблема в том, что мне нужны файлы в файловой системе, которые приложение может прочитать. Метаданные для этих файлов хранятся в базе данных.

В реальном мире обычно происходит общее хранилище, которое используют модули приложений между ними. Когда в базе данных появляется новая запись, экземпляр приложения считывает эту запись, связывается с артефактом, если файл еще не существует в хранилище (которое выглядит как обычная папка в /srv/my-app/my-files или что-то подобное), и загружает его.
Это создает проблему для меня, так как я требую, чтобы все файлы были в файловой системе для запуска тестов. Реальные файлы слишком велики, и потребуется слишком много времени, чтобы запросить базу данных, загрузить их из артефакта (в любом случае я не хочу этого делать) и т. Д. *
Я хотел бы сделать некоторые фиктивные файлы доступнымичтобы приложение могло использовать, возможно, 3 или 4 файла с парой строк текста в.
Сейчас мои тестовые данные базы данных хранятся в файлах json в проекте в /test/resources/datasets
Есть ли способ определитьпуть к папке и пару фиктивных файлов, которые будут помещены туда, когда контейнер приложения раскрутится для тестирования?

...