So erstellen Sie Unit-Tests einfach in Eclipse [geschlossen]

94

Ich möchte Unit-Tests einfach durch Auswahl der Methode erstellen. Gibt es ein Tool in Eclipse, das das macht? Es sollte Vorlagen unterstützen. Ich sollte in der Lage sein, sowohl positive als auch negative Tests zu erstellen.

Chotka
quelle
1
Ich denke, dieses Eclipse-Plugin ist genau das,
Guillaume Husta
Hallo zusammen, etwas Moderneres?
GC_

Antworten:

26

Mit meinem Plug-In können Sie ganz einfach Tests erstellen:

  1. Markieren Sie die Methode
  2. Drücken Sie Ctrl+ Alt+ Shift+U
  3. es wird der Unit-Test dafür erstellt.

Das Plug-In finden Sie hier . Hoffe das hilft.

fastcodejava
quelle
1
Dies scheint ein großartiges Plugin zu sein! Ich bin nur neugierig, ob Sie etwas Ähnliches für C / C ++ in Eclipse wissen.
MikeyE
2
Dieses Plugin funktioniert einfach nicht für mich und sagt: "Dies ist eigentlich ein JUnit-Test" in meiner Klasse :) Ich wollte etwas Einfaches und Funktionierendes.
Kiedysktos
Hallo @fastcodejava, können Sie uns helfen, dass folgende Fehler auftreten: Bei Verwendung der Update-Site: Das Repository unter sourceforge.net/projects/fast-code/files/update/content.xml kann nicht gelesen werden . während der Verwendung von jar: kein
Testprofil
Was ist Standardfinsternis?
GC_
178

So erstellen Sie eine Testfallvorlage:

"Neu" -> "JUnit-Testfall" -> Wählen Sie "Zu testende Klasse" -> Wählen Sie " Verfügbare Methoden ". Ich denke, der Assistent ist ziemlich einfach für Sie.

Gy 声 远 Shengyuan Lu
quelle
4
Ich denke, OP wollte die Methode auswählen und den Unit-Test erstellen. Ich habe dafür ein Plug-In geschrieben.
Fastcodejava
1
Dies war genau das, wonach ich gesucht habe. Die Netbeans-Funktion macht genau das Gleiche. Wenn Sie Maven verwenden, ist es gut, dass der Testfall im richtigen Ordner erstellt wird
Theresa Forster,
4
@ TheresaForster Welches magst du? Diese Antwort oder die von fastcodejava?
Javaguy
2
Beachten Sie, dass "verfügbare Methoden" auf der nächsten Seite des Assistenten (mindestens in Eclipse 4)
bcoughlan
2
Tastenkombinationen hierfür sind ALT + UMSCHALT + N -> JUnit-Testfall auswählen (oder J dreimal
Matt R
7

Schauen Sie sich diese Diskussion an [Wie werden automatisch Junits generiert?]

Wenn Sie neu starten und es sich um eine Java-Anwendung handelt, dann ist Spring ROO sieht sehr interessant aus!

Hoffentlich hilft das.

Nilesh
quelle
-3

Jeder Unit-Test, den Sie per Knopfdruck erstellen könnten, wäre nichts wert. Wie kann das Tool wissen, welche Parameter Ihre Methode übergeben und was Sie zurückerwarten müssen? Es sei denn, ich verstehe Ihre Erwartungen falsch.

In der Nähe befindet sich so etwas wie FitNesse , wo Sie Tests einrichten können. Anschließend richten Sie separat eine Wiki-Seite mit Ihren Testdaten ein und führen die Tests mit diesen Daten aus, wobei die Ergebnisse als Rot / Grün veröffentlicht werden.

Wenn Sie gerne das Testschreiben viel schneller machen würden, würde ich vorschlagen Mockito , ein Verspottungs-Framework, mit dem Sie die Klassen um die zu testenden Klassen sehr leicht verspotten können, sodass weniger Setup / Teardown erforderlich ist und Sie wissen, dass Sie es wirklich sind Testen dieser einen Klasse anstelle einer davon abhängigen.

dj_segfault
quelle
29
Kein Tool kann den Unit-Test schreiben, den Sie erstellen möchten, aber das OP wollte das Tool finden, das die Methode hervorhebt und den Stub-Test erstellt. Sie müssen dann den Testmethodenkörper ausfüllen. Das Standardwerkzeug, das mit Eclipse geliefert wird, leistet gute Arbeit, aber man kann keine Methode hervorheben und den Test erstellen. Auch im Test ist schon da das Standardwerkzeug funktioniert nicht.
Fastcodejava
6
Erstens können auch automatisch generierte Tests nützlich sein. Manchmal vergisst man einfach, etwas Offensichtliches zu überprüfen - z. B. Nullzeigerprüfung. Zweitens denke ich, dass die Frage dazu gedacht ist, wie Tests vorgeneriert werden, die Sie selbst implementieren werden. Wenn Sie beispielsweise überprüfen müssen, ob Ihre Methode eine entsprechende Ausnahme auslöst, generiert das Tool möglicherweise automatisch eine leere Testmethode mit der Anmerkung @Test (erwartet = ...).
Radium