Как мне убедить eclipse / JUnit4 найти все мои тесты в проекте gradle / eclipse? - PullRequest
0 голосов
/ 24 июня 2019

Фон

Тестер JUnit 4, в Eclipse 4.11.

У меня есть проект eclipse, который был импортирован из файла build.gradle. Этот проект имеет несколько разных исходных путей, каждый со своим собственным тестовым путем. main / java, test / java, foo / java, fooTest / java, fooTest / resource и т. д.

Проблема

Когда я запускаю конфигурацию JUnit «всего проекта» (отладка, запуск, покрытие кода и т. Д.), Все, что он находит, - это тесты внутри «test / java». Я успешно добавил новые тестовые классы и новые методы @Test в эту папку.

Тесты из любого другого исходного пути игнорируются, когда я пытаюсь «Запустить все тесты в выбранном проекте, пакете или исходной папке». Кроме того, при выборе ошибки «fooTest / java» для конкретной исходной папки выдается сообщение «Тесты с Runner 'Junit 4' не найдены». Однако , когда я использую опцию «Запустить одиночный тест» с определенным классом теста, он находит все свои методы тестирования просто отлично. Я могу указать конкретный метод, и тест выполняется нормально.

Материал, который не работал

Я попытался изменить выходные каталоги моих неосновных путей к исходным тестам, чтобы записать в ту же папку, что и мой рабочий путь к исходным тестам. Нет радости.

Я пробовал различные настройки флага Eclipse «Содержит источники теста» для разных путей к источникам теста. Включено или выключено, поведение одинаково во всех моих исходных путях тестирования. /test/java всегда найден, fooTest/java всегда пропущен. Нет, я не пробовал все 16 перестановок флага в моих 4 разных путях источника теста.

Я попытался извлечь все связанные с gradle вещи из .project и .classpath. Никаких изменений в поведении. Черт возьми ... мои надежды оправдались.

Я попытался изменить порядок <classpathentry/> в файле проекта .classpath. Когда я переместил test/java так, чтобы он больше не был первым путем тестирования, я снова получил ошибку «тесты не найдены», как и при настройке конфигурации junit », запустил все тесты в выбранном проекте, пакете или источнике папка "в одной из моих других папок исходного теста. Установка его обратно восстановила исходное поведение.


У кого-нибудь есть дополнительные предложения, чтобы я мог попытаться запустить оставшиеся тесты без индивидуальных настроек для каждого класса тестов, которые я должен вручную запускать по одному?

1 Ответ

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

Я переключился на тестовый бегунок JUnit 5, и он отлично все понял. Это старинный пакет смог найти все мои тесты JUnit 4, и с тех пор я изменил несколько тестов для использования новомодных аннотаций и утверждений в JUnit 5.

Возможно, это была известная ошибка / ограничение в средстве запуска JUnit 4? Ах хорошо. Это работает сейчас.

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