Тестов с бегуном 'JUnit 4' не найдено - PullRequest
98 голосов
/ 25 февраля 2010

Мой тест Java хорошо работал в Eclipse. Но теперь, когда я снова запускаю тест из меню запуска, я получаю следующее сообщение:

No tests found with test runner 'JUnit 4'

В файле .classpath у меня есть все файлы jar, а в конце:

<classpathentry exported="true" kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
    <classpathentry kind="output" path="bin"/>
</classpath>

Как я могу устранить эту ошибку и снова запустить тесты?

Ответы [ 36 ]

0 голосов
/ 19 августа 2016

Для этого исключения есть две причины:

  1. Исходный код еще не скомпилирован.
  2. Или наоборот, исходный код был скомпилирован, НО его не может найти JUnit.

По первой причине у него нет ноги, чтобы стоять. Потому что, как говорили многие люди: «старые» методы работают отлично. Только новые добавленные методы не могут быть идентифицированы. Тогда второй причиной стало единственное объяснение: JUnit НЕ может найти только что скомпилированные классы. Имея это в виду, я сделал это: Щелкните правой кнопкой мыши по проекту -> Путь сборки Java -> Изменить исходный элемент: имя_проекта / src / test / java в папке «Вывод», измените папку «Вывод» на «Определенную папку вывода» (путь относительно имени_проекта). Укажите это значение: target / test-class. Будьте уверены: это выходная папка исходных кодов тестов по умолчанию, определенная Maven. Он был переписан M2E (или мной). Вот почему JUnit не может его найти. Поэтому я предполагаю, что многие люди, столкнувшиеся с этим прекрасным исключением, скорее всего, имеют дело с веб-проектом, которым управляет Maven. Я прав?! Это также способствовало моему заключению о том, что причина, по которой следует исключить - «старые» методы можно найти, заключается в том, что они были автоматически скомпилированы при повторном запуске Tomcat. Возможно, на «неправильном» пути, но Юнит все равно его нашел.

Прежде чем я понял это. Я попробовал много вещей в соответствии с рекомендациями: обновить до последней версии JUnit4, туда и обратно между путем компоновки и использованием в качестве исходной папки, заглавный Test vs test и т.д. Со всеми этими объяснениями моя вторая причина должна быть перефразирована следующим образом: новые коды не были своевременно скомпилированы по правильному пути! Удачи.

0 голосов
/ 22 сентября 2014

Время от времени у меня возникает эта проблема. Больше всего мне нужно решить проблему, выполнив тест JUnit из конфигурации «Выполнить» ... убедившись, что JUnit 4 установлен в качестве тестового прогона.

Обычно я вижу эту проблему при попытке запустить как ... Тест Junit из контекстного меню в проводнике пакетов. Если щелкнуть правой кнопкой мыши код для теста, который вы пытаетесь запустить, и вместо того, чтобы выбрать Запуск от имени ... Junit Test, вы выбираете Запуск конфигураций ... убедитесь, что Project, Test Class и Runner теста установлены правильно, нажав кнопку применить, а затем выполнить у меня все время работает.

0 голосов
/ 14 апреля 2018

Если вы пытаетесь настроить junit 5 добавить @RunWith(JUnitPlatform.class)

и import org.junit.platform.runner.JUnitPlatform;, чтобы Eclipse могла распознавать junit 5 тестовые классы как тестовые классы

0 голосов
/ 27 мая 2012

Мне нужно было выполнить очистку mvn в командной строке, а затем проект -> очистить в затмении. Я переименовал класс заранее, затем переименовал его обратно, но я сомневаюсь, что это помогло.

0 голосов
/ 25 июня 2019

Недавно у меня были проблемы с этим, которые, похоже, были исправлены в последнем Eclipse.

eclipse-java 4.11.0,2019-03:R -> 4.12.0,2019-06:R

0 голосов
/ 25 февраля 2010

Основан ли ваш проект на Eclipse? Если это так, вам может потребоваться обновить версию m2eclipse.

Просто короткое примечание: у меня есть проект в Затмение, которое основано на Maven, и генерируется изначально с использованием «нового Maven Project "Мастер в Eclipse. Я используя JUnit 4.5 для модульных тестов, и вполне мог запустить тесты из командной строки, используя Maven, и индивидуальные тесты от Eclipse с использованием запустить как тест JUnit .... Однако, когда я пытался запустить все тесты в проект, вызвав запустить как JUnit проверить ... на корневом узле проекта, Затмение пожаловалось " тестов не найдено с бегунком-испытателем Junit 4". Решено Обновление m2eclipse до последней стабильное развитие построить из Обновление сайта m2eclipse (в частности, я обновлен с версии 0.9.8.200905041414 до версии 0.9.9.200907201116 в Eclipse Galileo).

Отсюда: http://nuin.blogspot.com/2009/07/m2eclipse-and-junit4-no-tests-found.html

...