Перейти к содержимому

Фотография

запуск отдельной JUnit тест-функции из консоли


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 4

#1 Lega

Lega

    Новый участник

  • Members
  • Pip
  • 5 сообщений
  • ФИО:Яцун Олег

Отправлено 03 мая 2012 - 10:11

Как запустить отдельную тестовую функцию JUnit4 из консоли?
Например, имеем класс:
package test;

import org.junit.Test;

public class myTest {

	@Test
	public void ole() {
		System.out.println("ole");
	}
	@Test
	public void qwer() {
		System.out.println("qwer");
	}
}
С помощью java -cp org.junit.runner.JUnitCore [имена тест-классов] можно запускать классы целиком (все функции помеченные @Test), а вот как запустить отдельную тест-функцию? Например, myTest.qwer() из примера?
  • 0

#2 LeshaL

LeshaL

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 094 сообщений
  • ФИО:Алексей Лянгузов
  • Город:Saint-Petersburg


Отправлено 03 мая 2012 - 19:15

Как запустить отдельную тестовую функцию JUnit4 из консоли?
...
С помощью java -cp org.junit.runner.JUnitCore [имена тест-классов] можно запускать классы целиком (все функции помеченные @Test), а вот как запустить отдельную тест-функцию? Например, myTest.qwer() из примера?

Никак. Надо свой тест раннер писать. Или, если в отладочных целях, то можно закоментить ненужные анотации @Test.
  • 0
Regards,
Alexey

#3 D2Phoenix

D2Phoenix

    Постоянный участник

  • Members
  • PipPipPip
  • 200 сообщений
  • ФИО:Чадюк Вадим
  • Город:Гродно


Отправлено 04 мая 2012 - 14:22

Ну ещё можно с ant'ом побаловаться и реализовать такую возможность:)
  • 0

#4 LeshaL

LeshaL

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 094 сообщений
  • ФИО:Алексей Лянгузов
  • Город:Saint-Petersburg


Отправлено 04 мая 2012 - 21:43

Ну ещё можно с ant'ом побаловаться и реализовать такую возможность:)

В анте используется "ихняя" реализация тест-раннера. Чтобы его поменять надо написать свой тест-раннер. Т.е. см. мой предыдущий ответ. В IDE, которое тоже реализовывает свой раннер, на самом деле перебираются все методы класса, но только все кроме выбранного не запускаются. Так 4й Junit устроен.

На самом деле в Junit-e есть возможность запускать тесты на основе селекции по аннотациям. Я не пробовал, но вроде бы для этого надо создавать отдельный тест-свит(могу наврать). Как я понял идею, например есть три теста, один с аннотацией @A, другой с @B, а третий с @A и @B. Создаем 2 тест-свита - первый для @А, второй для @B. Итого в первом наборе будут тесты 1 и 3, во втором 2 и 3.
  • 0
Regards,
Alexey

#5 D2Phoenix

D2Phoenix

    Постоянный участник

  • Members
  • PipPipPip
  • 200 сообщений
  • ФИО:Чадюк Вадим
  • Город:Гродно


Отправлено 08 мая 2012 - 10:16

Ну а можно вообще так, вродь работает) Но эт не из консоли) Но большого труда не составит написать мини прогу для запуска тестов, которая бы принимала на вход имя класса и тесты которые нужно из него запустить(фактически напишите свой тест раннер, точнее обёртку для стандартного))
  • 0


Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных