Junit运行没有选择文件src/test/resources.对于某些依赖jar所需的文件

sad*_* dj 7 testing resources junit maven-2 surefire

我面临一个问题,即未选择测试/资源,而是挑选jar的主/资源

场景如下:Myproject src/test/resources ---具有config.xml w,abc.jar应该需要它,这是Myproject中的依赖.

当为Myproject运行测试用例时,它加载abc.jar的config.xml而不是Myproject test/resources. - 我需要知道maven选择资源的顺序. - 或者我正在努力尝试是不可能的.

谢谢.

Pas*_*ent 13

来自target/tests-classes(默认情况下)的文件包含在测试类路径的开头.因此,从两个运行测试,资源时src/main/resourcessrc/test/resources在类路径,但后来的优先级高于前者.换句话说,如果你有config.xmlin src/main/resources和in src/test/resouces:

  • src/main/resources/config.xml将被包装在最终的人工制品中但是
  • src/test/resources/config.xml 将在运行测试时使用

如果这不是您所遇到的,那么其他地方肯定会有错误.

如果你想说服自己可以运行mvn -X test,这将打印Test Classpath.你会看到这个类路径是由(按此顺序)组成的:

  • target/test-classes
  • target/classes
  • 项目罐子
  • 依赖关系(包括具有测试范围的依赖关系)