【发布时间】:2011-07-25 12:55:36
【问题描述】:
我有一个使用普通 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 时这不是问题。
我想我的问题有两个:第一,我做错了吗?我看到很多人使用类加载器来发现资源,就像在this question 中一样,但我不想要所有资源 特定类型,只需要 test/resources 下的一个目录。第二,如果这不是一个糟糕的想法,我是否有配置错误(例如,它“应该”工作)?是 Eclipse 的错,还是 Maven 的问题,还是什么?
【问题讨论】:
标签: java eclipse unit-testing resources maven