Frage

Ich habe eine Basisklasse für viele Tests, die einige Hilfsmethoden sie alle brauchen hat.

Es ist nicht von selbst auf sich keine Tests, aber JUnit (in Eclipse) wird den Test-Runner darauf Aufrufe und beschwert, dass es keine Methoden zu testen.

Wie kann ich es diese Klasse ignorieren?

Ich weiß, ich könnte eine dummyTest Methode hinzufügen, die das Problem lösen würde, aber es wäre auch für alle Kinder Klassen erscheinen.

Verbesserungsvorschläge?

War es hilfreich?

Lösung

Mit Anmerkung @Ignore. Es funktioniert auch auf Klassen. Sehen Sie diese:

@Ignore public class IgnoreMe {
                        @Test public void test1() { ... }
                        @Test public void test2() { ... }
                }
  

Sie können aber auch eine Klasse mit Anmerkungen versehen   enthaltenden Testmethoden mit @Ignore   und keiner der haltigen Tests   ausgeführt werden.

Quelle: JUnit JavaDoc

Andere Tipps

Nur als Anmerkung, würde ich immer empfehlen, einen Grund für die ignorieren geben:

@Ignore("This test will prove bug #123 is fixed, once someone fixes it")

Ich hoffe, die junit xml Bericht Formatierer, verwendet wird, wenn Tests von Ameise läuft, wird eines Tages die ignoriert Zahl (und die Gründe) umfassen zusammen mit Pass fehl, und Fehler.

die Klasse abstract machen sollte für JUnit 4. genug sein, wenn es doppelte Kontrolle nicht funktioniert, welche Version von JUnit Sie verwenden.

Dies steht auch Ihre Absicht, dass dies nur ein Fragment eines Tests.

Es verhindert auch JUnit aus den Tests in der Klasse als „ignoriert“ Zählen (so die endgültige Anzahl der ignorierten Tests, was Sie erwarten).

Alternativ benennen Sie die Klasse. Die meisten der Läufer verwenden den Namen der Klasse, welche Klassen sind Tests zu bestimmen und welche Helfer. In Maven mit den Standardeinstellungen, müssen Sie nur noch die Basisklasse nicht beginnen, stellen Sie sicher, oder mit Test Ende und endet nicht mit TestCase ( http://maven.apache.org/surefire/maven-surefire-plugin/examples/inclusion-exclusion.html )

Es gibt 2 Möglichkeiten:

  1. Sie sollten die Basistestklasse abstrakt erstellen, das reicht bekam junit4. Wenn Sie @Igonre verwenden Attribut, damit sie als ignoriert Test zeigen wird (und es wird auf die Gesamtzahl der Tests hinzufügen).

  2. Sie können den Namen der Testklasse ändern, dass es wird das Wort nicht hat Test (Groß- und Kleinschreibung) in dem Anfang oder das Ende des Testnamen / oder das Wort Testcase auf das Ende.

BTW:. @Igonre ist für einen anderen Anwendungsfall, wenn Sie einen bestimmten Test ignorieren

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