Сценарий у нас есть:-
У нас есть модуль (в java) для тестирования с помощью Junit. Модуль в основном принимает файлы в качестве входных данных, обрабатывает их, а затем записывает данные в Hazelcast. Эти входные файлы загружаются с внутреннего URL-адреса.
В нашем тесте Junit (полностью отдельный тестовый проект, т. е. тест junit не находится в тестируемом модуле), у нас нет доступа к этому URL-адресу, где находятся эти файлы.
Проблема:-
-> Для предоставления входных файлов Модулю используется файл .properties, в котором указано, где он физически находится. которое является полем InputFileUrl в самом модуле.
-> Где-то в модуле этот URL будет прочитан (из файла .properties), а затем к нему будут добавлены некоторые дополнительные параметры. а затем модуль пытается назвать это URL-адресом и загружает входные файлы. Из тестового проекта у нас нет доступа к этому URL. поэтому мы предоставляем этим входным файлам следующий статический адрес файла:
InputFileUrl = file:///C:/Inputs/file.xml
-> Проблема в том, что когда некоторые дополнительные параметры добавляются к указанному выше URL-адресу в модуле, естественно, он становится недействительным URL-адресом и выдает исключение. Мы могли бы успешно запустить модуль из нашего тестового проекта, если бы мы сделали часть комментариев модуля, где были добавлены эти дополнительные параметры. (только однострочный комментарий)
Итак, 1) как мы можем решить эту проблему доступа к URL-адресу без изменения самого кода модуля?
Может ли здесь быть полезна технология WireMock? Я немного читал об этом и не уверен, что это может быть полезно для этого сценария, поскольку здесь внутренний URL-адрес для тестируемого модуля будет высмеиваться.