Запуск одного теста JUnit в Eclipse

Если у меня есть набор тестов с несколькими тестами, когда я пытаюсь запустить одиночный unit test, либо из контекстного меню редактора кода, либо из представления JUnit, он, похоже, настаивает на том, чтобы всегда запускать весь пакет, а не один тест. Есть ли способ отключить, чтобы изменить это поведение, чтобы я мог попросить его запустить, и только это, тест.

Ответ 1

В пакете explorer разворачивается класс. Он должен показать вам все методы. Щелкните правой кнопкой мыши по одному методу, который вы хотите запустить, затем выберите "Выполнить как → JUnit" из контекстного меню (только что протестированное с Eclipse 3.4.1). Также выбор "Запуск" в одной записи в представлении результатов JUnit для повторного запуска теста работает таким же образом.

Ответ 2

Самый быстрый способ, которым я знаю:

  • Нажмите Ctrl + Shift + (перемещает курсор в текущую декларацию метода),
  • нажмите Alt + Shift + x (или d для отладки), затем нажмите t (горячая клавиша для "Run JUnit Test" ),
  • проверить результат теста,
  • нажмите Alt + , чтобы вернуться к строке кода, который вы были раньше.

Если вы хотите запустить все тесты, вы можете пропустить шаги 1 и 4.

Ответ 3

В Eclipse 3.5 вы можете обойти это, изменив тестовый бегун на JUnit 3. Это будет работать только для тестов JUnit 3, а не тестов JUnit 4. Вы можете изменить тестовый бегун, выполнив следующие действия:

  • Щелкните правой кнопкой мыши один из методов тестирования в проводнике Outline
  • Выберите Run As → Run Configurations
  • На вкладке "Тест" выберите "Запустить один тест"
  • В раскрывающемся списке Test Runner выберите "JUnit 3"

Он может работать и в других версиях.

Ответ 4

Это возможно в Eclipse Indigo с JUnit 4.8.2. Вы щелкните правой кнопкой мыши метод, который хотите unit test индивидуально, на панели Outline и выберите Run As -> JUnit Test.

Вы можете даже выборочно щелкнуть имя метода Test в редакторе исходного кода и выбрать Run As -> JUnit Test.

Ответ 5

Не используйте Strg + F11, а горячую клавишу Alt + Shift + XT.
Затем Eclipse выполнит текущий открытый файл как тест JUnit. Зеленая кнопка воспроизведения запускает только последнюю выбранную конфигурацию запуска.

Для меня это хорошо работает с Alt + Shift + XT.

Ответ 6

Я добавлю другие, включив в себя высокопроизводительную клавиатуру, позволяющую отлаживать один unit test (метод).

Переместите курсор к имени метода, используя

  • Ctrl + Shift + Up или
  • Ctrl + Shift + Down или
  • Ctrl + o затем введите имя метода

Как только ваш курсор находится на имени метода (или прямо перед ним):

  • Alt + Shift + DT (Debug)
  • Alt + Shift + XT (Выполнить)

После запуска теста вы можете вернуться туда, где находился ваш курсор:

Alt + Back

Вы почти получаете поведение типа REPL:

Ctrl + Shift + Up и Alt + Shift + XT и Alt + Back

Вы также можете быстро установить точку останова:

Ctrl + Shift + B

Ответ 7

Щелкните правой кнопкой мыши где-нибудь на имени метода тестирования в файле и выберите "Запустить" → "Тест Junit". Я делаю это все время с Кеплером и JUnit 4.

Ответ 8

У меня была та же проблема, с которой другие пользовались Eclipse 3.4.1 и JUnit 4 test runner - не смогли запустить одиночный тест. Но я нашел предложение в другом месте, которое разрешило проблему. Мой тестовый класс продолжал расширять junit.framework.TestCase. Когда я прекратил расширение TestCase, все работало нормально, и я смог запускать одиночные тесты JUnit с помощью тестового бегуна JUnit 4. Конечно, мне нужно, чтобы аннотации JUnit 4 использовали статический импорт для методов assert, но я уже это сделал - я просто не удалил наследование TestCase.

Ответ 9

Если у вас много тестов в нескольких файлах, и вы хотите запускать тесты только в определенном файле, вы можете щелкнуть правой кнопкой мыши по этому файлу и выбрать выполнить как → junit test. Теперь, если вы хотите запустить только один тест, содержащийся в файле с большим количеством тестов, я предполагаю (у меня нет eclipse здесь), что в представлении Outline будут перечислены все методы тестирования для файла, и вы, вероятно, сможете щелкните правой кнопкой мыши один метод тестирования и выполните его как тест JUNit.

Надеюсь, что это поможет.

Ответ 10

Для меня он также не работает в Eclipse 3.4.2, хотя он работал в предыдущих выпусках (я пробовал использовать один метод из проводника пакетов и одиночный тест junit из представления junit)

Ответ 11

Я согласен с тем, что 3.4.2 больше не работает так, как это было в предыдущих версиях. Прежде чем вы можете щелкнуть правой кнопкой мыши по одному тесту в группе тестов из представления JUnit и выполнить только этот тест. В последней версии он настаивает на том, чтобы всегда запускать все из них. Конечно, представление запускает тест, который вы нажали первым, и сбрасывает остальную часть в накопителе под названием "Unrooted Tests". Если кто-нибудь это оценит, я хотел бы знать, как обойти это.

Ответ 12

Прочитав некоторые комментарии здесь, кажется, вам может быть интересно запустить тесты для кода, который вы меняете по мере его изменения, не теряя при этом внимания кода, над которым вы работаете. Там есть плагин eclipse для этого. См. infinitest.