Как мне обнаружить файлы тестовых ресурсов в Java-проекте под управлением Maven?

У меня есть проект, в котором используется обычная структура 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, или что?

11
задан Community 23 May 2017 в 12:23
поделиться