Я использую eclipse для запуска тестов в одном тестовом классе junit (4). Тесты в классе все работают отлично. Затем я добавляю дополнительный тест и запускаю класс с помощью теста, снова запускающегося в ecplise. Выполняются только старые тесты. Новый тест не наблюдается в eclipse. Там нет ошибки или чего-то еще, это похоже на то, что eclipse смотрит на старую версию теста.
Если я запускаю тесты с помощью maven, все работает нормально. Кроме того, после запуска тестов в maven, ecplipse может правильно увидеть и запустить новый тест.
Есть идеи, что происходит? Любые идеи о том, как получить тест-драйв ecplipse, чтобы увидеть мои новые тестовые примеры?
Ответ 1
У меня была такая же проблема. Я решил это, выполнив следующее:
- Переход к проекту → Свойства → Путь сборки Java
Для исходной папки src/test/java
папка вывода была установлена на
"Выходная папка по умолчанию"
- Установка этого в типичный каталог Maven
target/test-classes
в вашей структуре Maven
После этого Maven и Eclipse были в синхронизации (в отличие от Eclipse, с радостью выполнявшего более старую версию тестов, начиная с любой последней компиляции Maven).
Ответ 2
Возможно, вам просто нужно создать новую конфигурацию запуска. Eclipse "запоминает" последнюю используемую конфигурацию Run и просто повторяет ее, если не указано иное. Чтобы убедиться, что у вас есть новая настройка запуска, вы можете щелкнуть тестовый пример в проводнике пакетов и выбрать "Запустить как | Испытание Junit. В следующий раз, когда вы нажмете игру, это будет" запомненная" конфигурация запуска и т.д.
Ответ 3
Возможно, src/test не находится в пути сборки Java.
Решение по Кеплеру:
Проект → Путь сборки → Настройка пути сборки → Источник → Добавить папку
Затем установите флажок, соответствующий тесту в разделе src
Ответ 4
Возможно, это связано с использованием Maven для сборки (Maven обычно встраивается в папку "target" ), но Eclipse использует другую сборку для собственного процесса сборки. Самый простой способ - войти в целевую папку в проекте Eclipse (или Bundle при использовании OSGi) и удалить конфликтующие подпапки/файлы классов из этого каталога; для меня это моя "целевая" папка. Затем запустите Eclipse для восстановления, и все будет хорошо.
Технически, и, альтернативно, вы могли бы просто сбить всю сборку/целевую папку, если захотите, и позволить Eclipse перестроить все.
Ответ 5
В ответ на ответ, предоставленный Райаном Доу, я обнаружил, что папка вывода по умолчанию может быть установлена только в одну папку для всех исходных папок на пути сборки. Поэтому, если я изменил папку вывода на целевые/тестовые классы, мой src/main/java также выводил классы там.
Возможно, вы написали этот ответ для другой старой версии eclipse, но с выпуском Mars.2 у нас может быть только одна папка вывода по умолчанию для всех исходных папок.
Лучшим решением, которое я нашел до сих пор для этой проблемы, является просто включение целевых/тестовых классов в качестве папки классов, перейдя в Project → Properties → Java Build Path → Libraries → Add Class folder.
Ответ 6
Кажется, что ваш проект не перекомпилировался. Либо проверьте меню: Project/Build Automatically или сделайте это вручную, как прокомментировал Борис Павлоч.
Ответ 7
Это похоже на ту же проблему, что junit не использует новейший файл
Проблема заключается в том, что Eclipse ставит скомпилированные тесты в неправильную папку, которую можно решить, указав вручную, где они должны быть.
Ответ 8
Добавьте "тест" перед вашими тестовыми классами, если уже не существует аннотации @Test, которая не всегда выбирается из среды Eclipse Junit Test.
Ответ 9
Вот как я исправил свою проблему...
- щелкните правой кнопкой мыши проект и перейдите в Выполнить как → Выполнить настройки...
- выберите JUnit → [имя проекта] в появившемся всплывающем окне.
(эта конфигурация [имя-проекта] была создана для меня eclipse
но если его там нет, вы можете щелкнуть правой кнопкой мыши JUnit → New и создать его)
- Перейти Classpath вкладка
- выделите Записи пользователя и нажмите кнопку Дополнительно... button
- .В появившемся всплывающем Расширенном меню выберите Добавить папки и нажмите ОК
- .в появившемся всплывающем Папке прокрутите к своему проекту, откройте target, выберите test-classes и нажмите OK
- .повторите шаги 4-6 для каталога [project-name]/target/classes и любого другого каталога, необходимого в вашем classpath (например, файлы свойств, используемые в ваших тестах и т.д.)
Примечание: предполагается, что папка вывода проекта по умолчанию для тестов - target/test-classes, если ее нет, измените ее соответствующим образом. Кроме того, убедитесь, что у вас выбрана правильная версия JUnit в разделе "Конфигурация запуска JUnit", а каталог src/test/java является исходной папкой для вашего проекта и т.д., Как упоминалось другими.