Как модульно проверить, был ли файл перемещен из локального каталога в очередь ActiveMQ

#spring-boot #junit #apache-camel

#spring-boot #junit #apache-camel

Вопрос:

Я новичок в apache camel и в настоящее время работаю над модульным тестированием системы наблюдения за папками. У меня есть простой конструктор маршрутов, который просматривает один каталог, и если приложение запущено, этот файл удаляется из этого каталога, а затем перемещается в очередь ActiveMQ.

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

Извините, если это очень расплывчато, я могу дать разъяснения, где могу, это скорее вопрос высокого уровня, просто чтобы помочь мне на правильном пути.

Ответ №1:

Итак, если я правильно понял ваш вопрос, у вас есть что-то вроде этого

 from("file:path/to/importdir?delete=true")
    .to("activemq:queue:myFileQueue")
 

Если это (или аналогичный) ваш маршрут, на мой взгляд, вам вообще не нужно писать модульные тесты.

Почему? Потому что все, что вы будете тестировать, это компоненты Camel, но они очень хорошо протестированы в проекте Camel.

Начните писать тесты маршрута, если у вас есть какая-либо «логика маршрута».

Например, чтобы убедиться, что маршрутизация на основе содержимого работает правильно, и разные тестовые сообщения используют правильные пути в маршруте.