Выполнение одного теста JUnit в Eclipse - PullRequest
80 голосов
/ 14 марта 2009

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

Ответы [ 12 ]

93 голосов
/ 14 марта 2009

В пакете проводника разверните класс. Он должен показать вам все методы. Щелкните правой кнопкой мыши по методу, который вы хотите запустить, затем выберите Run As -> JUnit из контекстного меню (только что протестированный с Eclipse 3.4.1). Также выбор «Выполнить» для одной записи в представлении JUnit-results для повторного запуска теста работает аналогичным образом.

24 голосов
/ 14 марта 2014

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

  1. Нажмите Ctrl + Shift + (перемещает курсор к объявлению текущего метода),
  2. нажмите Alt + Shift + x (или d для отладки), затем нажмите t (горячая клавиша) для «Выполнить тест JUnit» ),
  3. проверить результат теста,
  4. нажмите Alt + , чтобы вернуться к той строке кода, которой вы были раньше.

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

13 голосов
/ 19 августа 2009

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

  1. Щелкните правой кнопкой мыши по одному из методов тестирования в проводнике Outline
  2. Выберите Run As -> Run Configurations
  3. На вкладке «Тест» выберите «Выполнить одиночный тест»
  4. В выпадающем списке Test Runner выберите «JUnit 3»

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

11 голосов
/ 03 ноября 2011

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

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

9 голосов
/ 08 апреля 2013

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

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

  • Ctrl + Shift + Вверх или
  • Ctrl + Shift + Вниз или
  • Ctrl + o , затем введите название метода

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

  • Alt + Shift + D -> T (отладка)
  • Alt + Shift + X -> T (Выполнить)

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

Alt + Назад

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

Ctrl + Shift + Up и Alt + Shift + X -> T и Alt + Back

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

Ctrl + Сдвиг + B

9 голосов
/ 16 марта 2009

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

Для меня это хорошо работает с Alt + Shift + X -> T .

3 голосов
/ 06 августа 2014

Щелкните правой кнопкой мыши где-нибудь на имени метода теста в файле и выберите «Выполнить» -> «Выполнить тест». Я делаю это все время с Kepler и JUnit 4.

2 голосов
/ 23 февраля 2010

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

1 голос
/ 14 марта 2009

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

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

0 голосов
/ 14 марта 2014

Читая некоторые комментарии здесь, кажется, вам может быть интересно запустить тесты для кода, который вы изменяете по мере его изменения, не теряя фокус на код, над которым вы работаете. Есть плагин Eclipse для этого. См. infinitest .

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