Как отлаживать тесты maven surefire в Eclipse

Я пытаюсь отлаживать свой набор тестов Maven Surefire в eclipse. Я использую TestNg для запуска тестов. Я могу запустить эту команду из терминала, а затем запустить «Удаленное приложение Java» в Eclipse для отладки:

mvn clean test -Dmaven.surefire.debug -Dclass=com.myTests.SampleTestClass

Можно ли настроить конфигурацию отладки в Eclipse, чтобы я мог просто выполнять отладку непосредственно из Eclipse без необходимости запускать команду в терминале?

Это моя верная установка maven в Pom.xml

<plugins>
  <plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-surefire-plugin</artifactId>
  <version>2.17</version>
  <configuration>
    <systemPropertyVariables>
      <my_property>${my_property}</my_property>
    </systemPropertyVariables>
    <properties>
      <property>
        <name>listener</name>
        <value>com.myPackage.TestListener</value>
      </property>       
    </properties>
  </configuration>
 </plugin>
</plugins>

person zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz    schedule 09.05.2015    source источник
comment
Нажмите на класс -> Запустить от имени -> JUnit Test или, в вашем случае, нажмите на класс -> Запустить от имени -> TestNG Test? Или в случае, если хотите отладить его. Дебус от имени вместо запуска от имени...   -  person khmarbaise    schedule 09.05.2015
comment
Maven является частью моего проекта по нескольким причинам, я не хочу пропускать эту часть.   -  person zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz    schedule 09.05.2015
comment
Я знаю, но вы хотите отлаживать тест, а не maven-surefire-plugin или сам maven?   -  person khmarbaise    schedule 09.05.2015
comment
Если у вас есть некоторые части, которые не работают, если вы запускаете их как тесты из Eclipse, вы делаете что-то неправильно. Можете ли вы дать информацию, что вы делаете?   -  person khmarbaise    schedule 09.05.2015
comment
Если я бегу из eclipse, свойство слушателя игнорируется   -  person zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz    schedule 09.05.2015
comment
Конечно, поэтому вы должны привести свои аргументы для запуска теста в Eclipse. Это можно сделать... Но реальный вопрос: зачем вам такой слушатель? Кроме того, листнеры могут быть определены аннотациями. Так я не вижу здесь проблемы?   -  person khmarbaise    schedule 09.05.2015
comment
@zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz Пожалуйста, поделитесь информацией, если вы решили проблему.   -  person lupchiazoem    schedule 10.02.2019


Ответы (1)


Как уже упоминалось khmarbaise, откажитесь от части maven и просто запустите тесты из самого eclipse.

Комбинация клавиш, которую вы захотите использовать после выбора пакета, содержащего ваши тесты TestNG: Alt + Shift + D, Н

Для отладки JUnitTests замените N на T

Что касается сохранения текущей функциональности: чтобы подключить прослушиватель к вашему набору тестов testng, используйте @Listeners -Annotation, где вы можете подключить несколько классов, реализующих ITestNGListener, для прослушивания вашего пакета.

Имейте в виду, что ITestNGListener — это всего лишь интерфейс маркера и не имеет дополнительных функций.

Для определенных systemPropertyVariables: вы должны иметь возможность прикрепить их к конфигурации запуска (и отладки) testng.

person Vogel612    schedule 09.05.2015
comment
Я не хочу отказываться от части maven. Maven является частью моего проекта, потому что он обрабатывает некоторые настройки, которые я не получаю, если запускаю тест TestNG или JUnit. - person zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz; 09.05.2015
comment
Пожалуйста, добавьте такую ​​информацию к вашему вопросу заранее. Я понятия не имел, что вам нужна какая-то настройка... Опять же, я думаю, вы могли бы ошибаться, полагаясь на maven для настройки теста, но у меня недостаточно информации, чтобы предложить, возможно, лучшие альтернативы... ну ладно - person Vogel612; 09.05.2015
comment
Я должен использовать тестовую аннотацию ng @Listeners. - person zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz; 11.05.2015