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