Frage

Wir haben eine Menge von Integrationstests geschrieben JUnit mit 3 , obwohl wir sie jetzt mit 4.4 laufen. Ein paar von ihnen haben ein Bedürfnis nach einer tearDown Methode, die alle Tests in der Klasse läuft nach dem vollständigen sind (einige gemeinsamen Ressourcen frei).

Ich sehe, dass dies in JUnit 4 mit @AfterClass (org.junit) durchgeführt werden kann. Allerdings Mischen dieser in bestehende junit 3 Tests, die Testcase erweitern (junit.framework. *) Nicht zu funktionieren scheint. [BTW gibt es noch ein Migrations-Tool? Frage 264.680 dort angezeigt war vor einem Jahr nicht ein.]

Ich habe erwähnt mit junit.extensions.TestSetup für diese Art der Sache zu sehen. Meine kurze Prüfung dieser schien nicht zu arbeiten. Alle Beispiele?

War es hilfreich?

Lösung

die Antwort auf meine eigene Frage gefunden :) ich diese kurz versucht hatte, meine Frage vor der Veröffentlichung, aber es funktioniert nicht für mich. Aber ich weiß jetzt, dass es ist, weil unser Test-Framework JUnit anders als die Standard-Aufruf ist, so war es nicht die „Suite“ Methode aufrufen, die in der folgenden Lösung benötigt wird. In Eclipse wenn ich die mitgelieferte junit Läufer verwenden, um direkt einen Test durchführen / Testcase, es läuft gut.

Ein Weg, um dieses Setup / Teardown einmal zu tun pro Klasse in junit 3 Testsuite zu verwenden. Hier ist ein Beispiel auf junit.org:

Gibt es eine Möglichkeit zu machen setUp () laufen nur einmal?

public static Test suite() {
    return new TestSetup(new TestSuite(YourTestClass.class)) {

        protected void setUp() throws Exception {
            System.out.println(" Global setUp ");
        }
        protected void tearDown() throws Exception {
            System.out.println(" Global tearDown ");
        }
    };
}

Andere Tipps

In JUnit 4, Ihre Testklasse muss nicht TestCase verlängern. Stattdessen müssen Sie sicherstellen, dass der Name Ihrer Testklasse entspricht *Test und jedes Testverfahren wird mit @Test kommentiert. Haben Sie versuchen, diese Änderungen vornehmen, dann die @AfterClass Anmerkung zu dem jeweiligen Verfahren?

Es Anmerkungen sind die meisten ersetzen / alle Funktionen, die Sie zur Zeit von TestCase dargestellt werden können.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top