Пружинное пакетное тестирование с внешним входом и выходом дБ - PullRequest
0 голосов
/ 24 июня 2019

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

Может кто-нибудь привести мне пример, как я мог это сделать?Я хотел бы передать работу с файлом, а затем, когда работа закончилась, проверить в базе данных, что я ожидаю, там.Я думаю, я мог бы указать h2 db в application-test.properties, но я не имею ни малейшего представления о вводе.

Документы от https://docs.spring.io/spring-batch/4.1.x/reference/html/testing.html#testing на самом деле не охватывают это для меня.

1 Ответ

2 голосов
/ 25 июня 2019

Вы читаете входные файлы с диска?Если это так, вы можете редактировать исходный каталог входного файла только для тестов, которые находятся, например, в src / test / resources / input_dir / your_test_file.xml.

Если каталог входного файла сконфигурирован со свойствами, вы можете создатьФайл свойств только для тестов с чем-то вроде classpath: input_dir / your_test_file.xml (который будет в вашем проекте как src / test / resources / input_dir / your_test_file.xml).

Если каталог входных файлов сконфигурирован в контексте выполнения, вы можете указать это в параметре jobExecutionContext в JobLauncherTestUtils.launchStep

...