Неудачные тесты в Maven при установке из командной строки, но при переходе из Eclipse UI - PullRequest
2 голосов
/ 18 января 2012

Я использую Maven в своем проекте Java, а IDE - Eclipse.У меня есть несколько тестовых случаев в моем проекте, и когда я выполняю установку Maven из eclipse, мои тесты проходят успешно, но когда я выполняю установку Maven из командной строки, все мои тестовые примеры терпят неудачу.У меня есть следующая структура каталогов для моего проекта: src / main / java / resources / test / java / resources /

Кроме того, для моих тестовых случаев я должен использовать несколько конфигов из main / resources.Я подозреваю, что во время выполнения тестовых случаев из командной строки (mvn clean install) он не ищет ресурсы в main / resources, и поэтому возникает ошибка.

Может кто-нибудь сказать, пожалуйста, как я могу спросить mavenискать конфиги в main / resources и для моих тестовых случаев?Также, если вы подозреваете, что ошибка в чем-то другом, пожалуйста, прокомментируйте.

Спасибо.

Ответы [ 4 ]

3 голосов
/ 21 сентября 2012

У меня была та же проблема, тесты все в порядке в Eclipse с JUnit, но не удается в maven, когда я выполняю mvn test в консоли.

Я решил эту проблему, добавив

<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.12</version>
    <scope>test</scope>
</dependency>

на мой pom.xml.

3 голосов
/ 18 января 2012

Если ваши тесты не выполняются с помощью командной строки maven, то будьте уверены, что с вашим тестом возникла проблема. Вы не можете полагаться на Eclipse, или, скорее, m2Eclipse, потому что m2eclipse не может предоставить вам правильный путь к классу.

Например, в eclipse вы можете ссылаться из класса в src \ main \ java на класс в src \ test \ java, вы не получите никакой ошибки компиляции. Конечно, в maven (или в IDE с достойной интеграцией в maven, например, в intelliJ) компиляция завершится неудачно, как и должно быть. Выполнение тестов в eclipse - это хорошо (быстрее / проще, чем командная строка maven), но фактический тест, который вы должны выполнить (например, перед фиксацией в svn), это выполнить чистую установку с командной строкой maven.

UPDATE
Чтобы ответить на ваш вопрос: src / main / resources находится в classpath, когда maven (surfire) запускает тесты

0 голосов
/ 31 октября 2014

Я решил это, отключив мой брандмауэр - Comodo - даже несмотря на то, что я сказал это не помещать в песочницу верную флягу, чёрт возьми, всё равно это блокировало. Отключил песочницу и все было нормально.

0 голосов
/ 05 сентября 2013

У меня была немного другая проблема с теми же симптомами.

У меня было два файла с одинаковыми именами в src/main/resources и src/test/resources. Файл из src/test/resources был неверным, но перезаписывал более новый файл из src/main/resources.

Решением для меня было просто удалить файл из src/test/resources.

...