Do testowania używamy JUnit 4: mamy klasy, które nie są podklasą TestCase
i mają publiczne metody opatrzone przypisami @Test
. Mamy jeden plik z wieloma metodami @Test
. Byłoby miło, aby móc uruchomić podzbiór nich poprzez Ant z wiersza poleceń w stylu tego przepisu na JUnit 3:uruchamianie podzbioru metod JUnit @Test
ant runtest -Dtest=MyTest -Dtests=testFoo,testBar
http://today.java.net/pub/a/today/2003/09/12/individual-test-cases.html
Próbowałam myśleć sposoby na osiągnięcie tego przy pomocy refleksji w Javie itp. Ponieważ nie ma sposobu, aby "ukryć" metody lub usunąć ich adnotacje w czasie wykonywania, jedyną opcją wydaje się być użycie metody ClassLoader's defineClass
, która wydaje się dość trudna.
P.S. W tej sytuacji właściwym rozwiązaniem byłoby rozdzielenie pliku, ale czy istnieją alternatywy?
Dzięki za poświęcony czas.
OK, to jest o wiele bardziej elegancki niż moje rozwiązanie :) – guerda
Przez kilka dni zmagałem się z tym samym (lub co najmniej bardzo podobnym) problemem i jest jedna rzecz, która przeszkadza mi. Co zrobić, jeśli chcesz użyć FilteredRunner z Powermock, który wymaga również własnej adnotacji @RunWith (PowermockRunner.class)? –
Świetna odpowiedź, ale teraz przestarzała. Myślę, że BlockJUnit4ClassRunner musi być użyty zamiast TestClassRunner – Illidanek