Затмение не видит мой новый тест джунит - PullRequest
12 голосов
/ 06 апреля 2010

Я использую eclipse для запуска тестов в одном тестовом классе junit (4). Все тесты в классе проходят отлично. Затем я добавляю дополнительный тест и снова запускаю класс через тест, запущенный в ecplise. Только старые тесты запускаются. Новое испытание не видно по затмению. Там нет ошибки или что-то, просто затмение смотрит на старую версию теста.

Если я запускаю тесты с использованием maven, все работает нормально. Кроме того, после запуска тестов в maven ecplipse сможет правильно увидеть и запустить новый тест.

Есть идеи, что происходит? Любые идеи, как заставить тестировщика ecplipse увидеть мои новые контрольные примеры?

Ответы [ 8 ]

10 голосов
/ 29 марта 2012

У меня была такая же проблема. Я решил это, выполнив следующее:

  • Переход к Проект -> Свойства -> Путь сборки Java
    Для исходной папки src/test/java выходная папка была установлена ​​на «Выходная папка по умолчанию»
  • Установка в типичную директорию Maven target/test-classes в вашей структуре Maven

После этого Maven и Eclipse были синхронизированы (в отличие от Eclipse, который успешно запускал более старую версию тестов, начиная с последней компиляции Maven).

1 голос
/ 04 апреля 2016

В ответ на ответ Райана Доу я обнаружил, что для папки вывода по умолчанию может быть задана только одна папка для всех исходных папок в пути сборки. Поэтому, если я изменил выходную папку на target / test-classes, мой src / main / java также выводил там классы. Возможно, вы написали этот ответ для другой более старой версии eclipse, но в версии Mars.2 у нас может быть только одна выходная папка по умолчанию для всех исходных папок.

Лучшее решение, которое я нашел для этой проблемы, - это просто включить target / test-classes в папку классов, перейдя в Project -> Properties -> Java Build Path -> Libraries -> Add Class folder.

1 голос
/ 13 октября 2015

Вы можете обнаружить, что это, вероятно, вызвано использованием Maven для сборки (Maven обычно встраивается в папку 'target'), но Eclipse использует другую папку сборки для своего собственного процесса сборки. Самый простой способ - зайти в целевую папку в вашем проекте Eclipse (или в Bundle, если используется OSGi) и удалить конфликтующие подпапки / файлы классов из этого каталога; для меня это моя «целевая» папка. Затем заставьте Eclipse перестроить, и все должно быть в порядке.

Технически, или в качестве альтернативы, вы можете просто сдуть всю папку build / target, если хотите, и позволить Eclipse пересобрать все.

1 голос
/ 24 декабря 2013

Возможно, src / test отсутствует в пути сборки Java.

Решение по Кеплеру:

Проект -> Путь сборки -> Настройка пути сборки -> Источник -> Добавить папку

Затем установите флажок, соответствующий test под src

1 голос
/ 11 февраля 2011

Может быть, вам просто нужно создать новую конфигурацию Run. Eclipse «запоминает» последнюю использованную конфигурацию Run и просто повторяет ее, если не указано иное. Чтобы убедиться, что у вас есть новая конфигурация запуска, вы можете щелкнуть правой кнопкой мыши тестовый пример в проводнике пакетов и выбрать «Запуск от имени | Тест Юнит. В следующий раз, когда вы нажмете «play», это будет «запомненная» конфигурация запуска и т. Д.

0 голосов
/ 16 мая 2017

Добавьте «test» перед вашими тестовыми классами, если их там еще нет, аннотация @Test не всегда берется из среды Eclipse Junit Test.

0 голосов
/ 15 июня 2011

Это похоже на ту же проблему, что и junit, не использующий самый новый файл

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

0 голосов
/ 10 апреля 2010

Похоже, ваш проект не был перекомпилирован. Либо проверьте Меню: Проект / Построить автоматически, либо сделайте это вручную, как прокомментировал Борис Павлоцкий.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...