2010-10-26 5 views
22

To pytanie jest stycznie powiązane z How can I create JUnit stub methods in eclipse?, ale nie odpowiada na moje konkretne pytanie.Generowanie kodów pośrednich JUnit dla nowych metod w istniejącej klasie w Eclipse

Zakładając, że masz już istniejącą klasę przypadków testowych JUnit, jeśli dodasz metodę do klasy docelowej (lub zdecydujesz się przetestować poprzednio nietestowaną metodę), czy istnieje sposób na poinformowanie Eclipse o wygenerowaniu kodu pośredniczącego dla "nowego" metody w istniejącej wersji TestCase bez tworzenia nowej klasy przypadków testowych?

Odpowiedz

2

Zazwyczaj cykl roboczy z testów jednostkowych jest stworzenie pierwszej

public void test_new_method() { 
    ClassUnderTest x = new ClassUnderTest(); 
    x.NewMethod(); 
} 

W tym momencie Eclipse daje ostrzeżenie, że metoda „NewMethod” nie istnieje przypadek testowy. Następnie wystarczy wybrać "Quick Fix" (Ctrl-1 lub Ctrl-2, nie jestem pewien), aby utworzyć brakującą metodę w klasie.

+0

Dobra uwaga, ale to nie odpowiada na moje pierwsze pytanie. Eclipse generuje kody pośredniczące dla nowych klas przypadków testowych, dlaczego nie może generować skrótów dla istniejących klas? –

+0

Przepraszamy za to, że nie odpowiadamy na pytanie, ale w Eclipse oni (ktokolwiek) zakładają, że pracujesz na podstawie testu ... przetestuj najpierw, a następnie kod ... Właśnie sprawdziłem pomoc Eclipse i nie mogłem znaleźć możliwości zrób to tak, jak lubisz ... przepraszam. – khmarbaise

+6

Z książki "zrobimy to tylko dla ciebie, jeśli zrobisz to po swojemu". – stu

4
  1. Otwórz panel hierarchii pakietów.
  2. Przejdź do klasy, którą zmodyfikowałeś: .
  3. Kliknij prawym przyciskiem myszy nową metodę.
  4. Wybierz "Wygeneruj test". Wygenerowany kod pośredniczący pojawi się w pliku ClassTest.
+3

Czy używasz jakiegoś pluginu? Nie widzę opcji "Generuj test" w Eclipse przy użyciu Twojej procedury ... – IcedDante

+6

Wtyczka nazywa się [MoreUnit] (http://moreunit.sourceforge.net/) – derio

+0

W jaki sposób MoreUnit może dodać nowy przypadek testowy tylko nowo dodana metoda do istniejącej klasy testowej? Próbowałem, wydaje się, że nie mogę tego zrobić. Aby wygenerować nową klasę testową, Eclipse może zrobić to sam bez MoreUnit. – 5YrsLaterDBA

3

Moje rozwiązanie.

po prostu przejść przez normy „utworzyć JUnit przypadek testowy”

Wybierz plik do przetestowania. -> Nowy testowy test Junit

Wykonaj normalny proces tworzenia walizki testowej, ale wybieraj tylko te, do których chcesz uzyskać nowe kody pośredniczące.

Plik jest tworzony za pomocą kodów pośredniczących, które teraz kopiuję do istniejącego pliku testowego. Usuń nowo utworzoną klasę pliku testowego.

Nie jest to najbardziej wydajny, ale szybszy niż "gruby palcowania" podczas tworzenia ich ręcznie.

David

+0

Nieco bardziej nużący niż ten proces powinien być, ale na razie działa dla mnie! –

Powiązane problemy