У меня есть проект, в котором используется обычная структура Maven, например
module
\ src
\ main
- java
- resources
\ test
- java
- resources
так далее. В разделе test / resources
я хотел бы сохранить набор тестовых входных файлов для синтаксического анализатора, который я пишу, а затем запустить все файлы в каталоге через набор тестов. Как написано сейчас, тестовый код работает из командной строки, но не работает при запуске через плагин Eclipse JUnit:
File file = new File("src/test/resources");
file.list();
(на самом деле я использую FilenameFilter
, но я пытаюсь упростить.)
Проблема после прохождения модульного теста с помощью отладчика оказалась в том, что создаваемый мной файл указывает на / path / to / workspace / myproj / src / test / resources
, тогда как фактические файлы находятся в / path / to / workspace / myproj / modulename / src / test / resources
(это многомодульный проект Maven). По-видимому, это не проблема при запуске mvn test
из командной строки.
Думаю, у меня двоякий вопрос: во-первых, я делаю это неправильно ? Я вижу, как много людей используют загрузчик классов для обнаружения ресурсов, как в этот вопрос , но мне не нужны все ресурсы определенного типа, только один тестируемый каталог /Ресурсы. Во-вторых, если это не ужасная идея, есть ли у меня ошибка конфигурации (например, она «должна работать»)? Это ошибка Eclipse, проблема Maven, или что?