¿Cómo debo descubrir archivos de recursos de prueba en un proyecto Java administrado por Maven?
Tengo un proyecto que utiliza la estructura normal de Maven, por ejemplo,
module
\ src
\ main
- java
- resources
\ test
- java
- resources
etc. Debajotest/resources
, Me gustaría mantener un conjunto de archivos de entrada de prueba para un analizador que estoy escribiendo, luego ejecutar todos los archivos en el directorio a través del conjunto de pruebas. Como está escrito ahora, el código de prueba funciona desde la línea de comandos, pero falla cuando se ejecuta a través del complemento Eclipse JUnit:
File file = new File("src/test/resources");
file.list();
(En realidad estoy usando unaFilenameFilter
, pero estoy tratando de simplificar.)
El problema, después de pasar por la prueba de la unidad con un depurador, resulta que el archivo que estoy construyendo apunta a/path/to/workspace/myproj/src/test/resources
, mientras que los archivos reales residen en/path/to/workspace/myproj/modulename/src/test/resources
(es un proyecto de varios módulos de Maven). Aparentemente, esto no es un problema cuando se ejecutamvn test
desde la línea de comando.
Supongo que mi pregunta es doble: una,am estoy haciendo esto mal? Veo a muchas personas que usan el cargador de clases para descubrir recursos, como enesta pregunt, pero no quierotodos los recursos de un tipo particular, solo un directorio bajo prueba / recursos. Dos, si esta no es una idea terrible en primer lugar,do tengo un error de configuración (por ejemplo, "debería" funcionar) ¿Es culpa de Eclipse, un problema de Maven o qué?