При запуске Junit не выбирается файл src / test / resources. Для файла требуются некоторые зависимости jar - PullRequest
7 голосов
/ 04 мая 2010

Я столкнулся с проблемой, когда тест / ресурс не выбран, а вместо этого выбран основной / ресурс jar

Сценарий похож на: Myproject src / test / resources --- есть config.xml w который должен быть нужен abc.jar, который является зависимостью в Myproject.

При запуске тестового примера для Myproject его загрузка config.xml из abc.jar вместо Myproject test / resources. - Мне нужно знать порядок, в котором Maven выбирает ресурсы. - Или ват им пытаться не возможно.

Спасибо.

Ответы [ 2 ]

13 голосов
/ 04 мая 2010

Файлы из target/tests-classes (по умолчанию) включены в начало пути к классу теста. Таким образом, при выполнении тестов ресурсы из src/main/resources и src/test/resources находятся в пути к классам, но последний имеет приоритет над первым. Другими словами, если у вас есть config.xml в src/main/resources и в src/test/resouces:

  • src/main/resources/config.xml будет упакован в финальный артефакт , но
  • src/test/resources/config.xml будет использоваться при выполнении теста

Если это не то, что вы испытываете, возможно, ошибка где-то еще.

Если вы хотите убедить себя, что можете запустить mvn -X test, будет напечатан Test Classpath . И вы увидите, что этот classpath состоит из (в следующем порядке):

  • target/test-classes
  • target/classes
  • банка проекта
  • зависимости (в том числе с тестовой областью)
0 голосов
/ 20 июня 2013

У меня возникла похожая проблема с моим проектом. Итак, у меня есть TestClassA в ProjectA, который вызывает ClassB из ProjectB. ClassB использует файл в src / test / resources. По какой-то причине этот файл не использовался. Я обнаружил, что у ProjectA есть файл с таким же именем в его src / test / resources.
Итак, в общем, хотя ClassB был в ProjectB, он использовал src / test / resources от ProjectA, потому что это проект, из которого был создан тест.

...