Klasse ZERLEGUNG in junit 3?
Wir haben eine Menge von Integrations-tests geschrieben werden, JUnit 3, obwohl wir gerade jetzt läuft Sie mit 4.4. Ein paar von diesen haben ein Bedürfnis für eine tearDown-Methode, die ausgeführt wird, nachdem alle tests in der Klasse sind komplett (bis kostenlos einige gemeinsame Ressourcen).
Sehe ich, dass das getan werden kann in junit 4 mit @AfterClass (org.junit). Jedoch mischen Sie diese in die bestehenden junit-3-tests, zu verlängern, TestCase (junit.Rahmen.*) scheint nicht zu funktionieren. [BTW gibt es ein Migrations-tool noch? Frage Zwei hundert vier und sechzig tausend sechs hundert achtzig angegeben, es war nicht einer vor einem Jahr.]
Ich habe gesehen Erwähnung der Verwendung von junit.extensions.TestSetup für diese Art der Sache. Meine kurzen Tests schien das nicht funktionieren. Beispiele dafür?
- Wir nehmen an, wir haben keine Zeit derzeit manuell konvertieren und überprüfen, ob alle tests (und trainieren alle beteiligten Entwickler über die Verwendung der junit 4-Annotationen), sondern wollen einfach nur, um die Adresse zu den wenigen Klassen, die erfordern eine AfterClass entspricht in junit 3.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Fand die Antwort auf meine eigene Frage 🙂 ich hatte versucht, dies kurz vor Veröffentlichung meiner Frage, aber es war nicht für mich arbeiten. Aber ich merke jetzt, dass es ist, weil unsere test-framework ist das junit-anders als der Standard, es gab also nicht nur den Aufruf der "suite" - Methode, die benötigt wird, in der folgenden Lösung. In Eclipse, wenn ich verwenden Sie das mitgelieferte junit-runner direkt ausführen einer Test - /TestCase, es läuft wunderbar.
Einen Weg, dies zu tun-setup/teardown einmal pro Klasse in junit 3 ist die Verwendung TestSuite. Hier ist ein Beispiel auf junit.org:
Gibt es eine Möglichkeit, um setUp() nur einmal ausgeführt?
suite()
Methode gibt eineTest
(oder Unterklasse test), dann wird dassuite()
- Methode aufgerufen werden, die zum generieren der suite. Aber wenn Sie manuell erstellen Suiten selbst, Sie brauchen, um sicherzustellen, dass die suite () - Methode wird verwendet (möglicherweise durch die Verwendung derTestSuite
Konstruktor in einer Klasse)In JUnit 4, Ihre test-Klasse nicht verlängern müssen
TestCase
. Stattdessen müssen Sie sicherstellen, dass der name der Testklasse entspricht*Test
und jeder test-Methode ist annotiert mit@Test
. Haben Sie versucht, diese Veränderungen, dann hinzufügen der@AfterClass
Kommentar zu der jeweiligen Methode?Gibt es Anmerkungen zu ersetzen, die meisten/alle Funktionen, die Sie derzeit werden mit Hilfe von
TestCase
.