Я видел несколько вариантов этого вопроса в StackOverflow, но ни один из них точно не описывает мой сценарий или не предлагает решение, которое работает для меня.
Я создаю Java EE веб-игру. Я использую JUnit для модульного тестирования в процессе сборки. В папке моего веб-приложения есть ресурсы, к которым пользователи получают доступ через HTTP-запросы GET. В моем исходном коде у меня есть соответствующие Java классы, которые реализуют логику c этих активов.
Например, у меня есть класс с именем CookingPot, который реализует логику c для кастрюли. в моей игре. В папке webapp у меня есть файлы, которые предоставляют пользователю мультимедиа и контент для приготовления кастрюль, например:
webapp/assets/items/CookingPot.svg (an image of the cooking pot)
webapp/assets/items/CookingPot.html (an HTML description of the cooking pot)
Во время юнит-тестирования я хотел бы убедиться, что для каждого игрового предмета ( в этом примере (элемент CookingPot) в нужном месте в папке веб-приложения находится файл SVG и HTML.
Как выполнить этот тест? Тесты JUnit выполняются в среде сборки Maven, которая не предоставляет сервер Tomcat для тестирования, поэтому доступ к ним через HTTP не будет работать. Я пробовал:
URL svg = getClass().getResource("/webapp/assets/items/CookingPot.svg");
URL svg = getClass().getResource("webapp/assets/items/CookingPot.svg");
Но они возвращают ноль.
У меня такое ощущение, что здесь что-то простое, что мне не хватает, но я не знаю, что это такое. Конечно, должен быть способ проверить, существуют ли эти файлы во время процесса сборки?
Заранее спасибо за любую помощь!