2017-02-02 4 views
0

Я использую Eclipse Neon для редактирования моего проекта Maven и определения нескольких переменных среды в файле .mavenrc через переменную MAVEN_OPTS. Я использую плагин maven-surefire для запуска модульных тестов в Maven. Но когда я запускаю свои модульные тесты в Eclipse, Eclipse запускает модульные тесты напрямую, не используя Maven; поэтому переменные среды не заданы. Есть ли способ заставить Eclipse использовать переменные среды, которые я установил в MAVEN_OPTS? Я не хочу устанавливать их в двух местах.Использование MAVEN_OPTS из модульных тестов Eclipse.in

+0

какая переменная окружения вы настраиваете, пожалуйста, поделитесь вопросом. – nullpointer

ответ

0

Я предполагаю, что вы используете плагин eclipse junit, который является частью eclipse java development tools. Поскольку mavenrc позволяет вам определять переменную окружения для команды maven, нет способа прочитать их через сборку в junit-плагине. Тем не менее, вы можете выполнить тесты через maven surefire plugin. Не забудьте использовать external maven.

Некоторые другие способы запуска внутри затмение JUnit плагин являются

  1. Поддерживайте эти переменные как свойства POM. Таким образом, каждый разработчик может иметь свои собственные значения для среды в настройках .xml
  2. Основываясь на точке 1, вы либо генерируете Java-файл, который устанавливает их как параметр. Таким образом, ваш тестовый класс будет зависеть от этого сгенерированного файла или сохранить его в файле свойств и использовать фильтрацию ресурсов. Затем ваша тестовая база прочтет эти свойства.
+0

Есть несколько проблем с этим: 1) Это позволяет мне запускать все модульные тесты для проекта, но не ограничивать его конкретным тестовым файлом или индивидуальным тестом. Если я щелкнул правой кнопкой мыши на файле Java или методе тестирования, я не вижу «debug as maven». 2) Даже если я выполняю отладку на уровне проекта, отладчик пропускает все мои точки останова. –

+0

Вы можете запустить одиночный тест, используя плагин maven sure fire. См. Http://maven.apache.org/components/surefire/maven-surefire-plugin/examples/single-test.html. Также вы можете отлаживать тесты, используя http://maven.apache.org/components/surefire/maven-surefire-plugin/examples/debugging.html – GauravJ

Смежные вопросы