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