2010-10-26 4 views
22

Diese Frage ist tangential bezogen auf How can I create JUnit stub methods in eclipse?, aber es beantwortet nicht meine spezifische Frage.Generieren von JUnit Stubs für neue Methoden in vorhandenen Klasse in Eclipse

Angenommen, Sie verfügen über eine vorhandene JUnit-Testfallklasse. Wenn Sie der Zielklasse eine Methode hinzufügen (oder eine zuvor nicht getestete Methode testen), können Sie Eclipse mitteilen, dass der Stub für die "neue" Klasse generiert werden soll. Methode (n) im vorhandenen Testfall, ohne eine neue Testfallklasse zu erstellen?

Antwort

2

Der üblicher Arbeitszyklus mit Unit-Tests ist es, den Testfall zuerst

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

An diesem Punkt von Eclipse eine Warnung geben zu schaffen, dass die Methode „NewMethod“ existiert nicht. Dann wählen Sie einfach eine "Schnellkorrektur" (Strg-1 oder Strg-2, ich bin mir nicht sicher), um die fehlende Methode in der Klasse zu erstellen.

+0

Guter Punkt, aber das beantwortet meine erste Frage nicht. Eclipse generiert die Stubs für neue Testfallklassen. Warum kann es keine Methodenstubs für vorhandene Klassen generieren? –

+0

Sorry für die Beantwortung der Frage, aber die in Eclipse sie (wer auch immer) davon ausgehen, dass Sie testgetrieben arbeiten ... so zuerst testen und dann den Code ... Ich habe nur die Hilfe von Eclipse überprüft und konnte keine Möglichkeit finden mach es so, wie du es magst ... sorry. – khmarbaise

+6

Aus dem Buch "Wir machen es Ihnen nur leicht, wenn Sie es auf unsere Art tun." – stu

4
  1. Öffnen Sie die Pakethierarchie.
  2. Navigieren Sie zu der Klasse , die Sie geändert haben.
  3. Klicken Sie mit der rechten Maustaste auf die neue Methode.
  4. Wählen Sie "Test erstellen". Der generierte Stub wird in Ihrer ClassTest-Datei angezeigt.
+3

Verwenden Sie ein Plugin von einer Art? Ich sehe nicht die "Test erstellen" -Option in Eclipse mit Ihrer Prozedur ... – IcedDante

+6

Das Plugin heißt [MoreUnit] (http://moreunit.sourceforge.net/) – derio

+0

Wie die MoreUnit kann neue Testfall nur für hinzufügen neu hinzugefügte Methode in die bestehende Testklasse? Ich habe es versucht, es scheint nicht möglich zu sein. Um eine neue Testklasse zu generieren, kann Eclipse dies ohne MoreUnit tun. – 5YrsLaterDBA

3

Meine Lösung.

ich einfach durch den Standard gehe

Wählen Sie Datei zu testen ‚JUnit-Testfall erstellen‘. -> Neuer Junit-Testfall

Gehen Sie den normalen Prozess beim Erstellen des Testfalls durch, wählen Sie jedoch nur diejenigen aus, für die Sie neue Stubs erstellen möchten.

Die Datei wird mit den Stubs erstellt, die ich jetzt in die vorhandene Testfalldatei kopiere. Löschen Sie die neu erstellte Testdateiklasse.

Es ist nicht die effizienteste, aber schneller als "dicker Fingersatz", wenn Sie sie manuell erstellen.

David

+0

Ein bisschen mühsamer als der Prozess sein sollte, aber funktioniert für mich für jetzt! –

Verwandte Themen