2015-09-11 2 views
5

При написании тестов я хотел бы запускать их по отдельности. Howver, так как я переключился с Java Eclipse по умолчанию на Maven, это уже невозможно. Замечания:Запуск одного теста JUnit4 в Eclipse с Maven

  1. До сегодняшнего дня я не мог открыть исходный файл тест JUnit и выберите Run as | JUnit test на панели инструментов. Прежде чем я перешел на Maven, Eclipse построил модульный тест, когда это необходимо.

  2. Начиная с Maven, я получаю ClassNotFoundException в случае, если я раньше не скомпилировал тесты. Я могу обойти это, если я выберу POM и сделаю Run as | Maven test. Это скомпилирует тесты и проведет все тесты.

  3. Если я снова выберу модульный тест и выберем Run as | JUnit test с панели инструментов, он выполнит тест.

Поскольку это слишком неудобно, мне бы хотелось вернуться к «старому» поведению, и я думаю, что это должно быть проблемой конфигурации.

У меня есть

  • чтения Running a single test in Eclipse, но он описывает проблему без Maven. В принципе, ожидаемое поведение - это то, что я имел раньше.
  • читать Running JUnit tests with Maven under Eclipse - это то, что у меня есть. У меня есть Surefire, и я могу запускать все тесты при выборе POM.
  • моего Surefire version is 2.18
  • конвертирована структура каталогов моего проекта в раскладку Maven по умолчанию (который не было ранее)
  • Running a single test in Maven - No tests were executed не применяется, потому что я хочу, чтобы запустить тесты из Eclipse, а не из командной строки.
  • [х] Строить autmatically включен
  • [х] Maven проект Builder настраивается в свойствах проекта
  • The mailing list останавливает нерешенным
  • читать о Surefire arguments

Я даю сейчас.

Как сделать эффективный красный-зеленый рефакторинг, т. Е. Запускать только один единичный тест за раз, не добавляя конфигурацию запуска для каждого отдельного теста?

+0

В целом это возможно. Я думаю, что у вас проблемы с конфигурацией с интеграцией Maven/Eclipse. У обоих (Maven и Eclipse) используется один и тот же целевой каталог (т. Е. Где хранятся файлы .class)? – Jan

+0

@Jan: В Java Build File у меня есть «папка вывода по умолчанию», установленная в/target/classes. Исходные папки указывают там (/ src/main/java,/src/main/resources), за исключением модульных тестов (src/test/java), которые указывают на/target/test-classes. –

+0

В моем POM я удалил и указал конкретные имена каталогов, поэтому он строит в/target/classes и/target/test-classes. –

ответ

0

Сегодня я узнал, что Java Builder был отключен:

Java Builder not configured

Включение возвращало ожидаемое поведение.

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