Как запустить единственный тестовый метод JUnit в Eclipse?

В тестовом примере JUnit с несколькими аннотациями @Test, как выборочно запускать тесты?

Как, например, из следующего кода, как запустить один метод тестирования?

   @Test
   public void testHelloEmpty() 
   {
      assertEquals(h.getName(),"");
      assertEquals(h.getMessage(),"Hello!");
   }

   @Test
   public void testHelloWorld() 
   {
      // h.setName("World");
      assertEquals(h.getName(),"World");
      assertEquals(h.getMessage(),"Hello World!");
   }

Я попытался просто выделить один метод @Test и попытался запустить его, но он не работает таким образом.

Ответ 1

Для запуска одного тестового примера в Eclipse (в соответствии с вашим последним комментарием):

  • Перейдите в режим Run (зеленая кнопка со стрелкой вправо) → Run Configurations.
  • Щелкните правой кнопкой мыши на JUnit и выберите новый.
  • Заполните свой тестовый пример и метод тестирования (кнопка поиска действительно полезна здесь).
  • Нажмите "Выполнить".

Ответ 2

Кажется, что в наши дни (Eclispse 4.4.0) это можно сделать легко.

Если вы поместите курсор в начало определения метода контрольного примера, введете команду "Выполнить" или "Отладка" (меню или F11 или Ctrl + F11), тогда плагин JUnit запускает только этот контрольный пример.

(Если вы, с другой стороны, поместите курсор в тело метода, тогда будут выполнены все тесты в этом классе.)

Еще несколько советов по запуску тестов JUnit:

  • Команды "Перейти к предыдущему/следующему элементу" можно использовать для быстрого перемещения каретки к заголовку определения метода с помощью клавиатуры. Связывания клавиш по умолчанию: Ctrl + Shift + Up/Down.
  • Если команды "Выполнить" или "Отладка" введены, когда активны представления "Отладка", "JUnit" или "Консоль", Eclipse запустит конфигурацию последнего запуска. Это можно использовать для повторного запуска отдельного тестового примера без необходимости возврата обратно в редактор.
  • Запуск определенной конфигурации запуска можно выполнить с помощью меню "Выполнить": Alt + R, H, цифровая клавиша.

Ответ 3

Я думаю, что вы хотите пометить свои тесты как принадлежащие различным JUnit Categories, а затем запустить только те из одной или нескольких категорий и не все тесты, используя аннотации @RunWith и @Categories. Как я это делал в прошлом. В вашем случае вы можете иметь категорию только с одним тестом.

См. примеры:

Выполнение эталонных тестов в тестовом классе JUnit

Как запустить все тесты, принадлежащие определенной категории в JUnit 4

Ответ 4

Поместите курсор на имя метода, затем нажмите Alt + Shift + X, затем T. Это запустит тестовый метод как тест JUnit.

Примечание: не помещайте курсор в режим "insode". Это приведет к запуску всех методов в классе. Это должно быть в объявлении метода.

Также обратите внимание: @BeforeClass тестовые настройки могут не выполняться, если вы организуете свои тесты в наборах тестов.