Frage

Ich habe zwei Klassen, dass ich mich entschieden (nennen wir sie KlasseA und ClassB). Jeder hat seine eigene JUnit-Testklasse (testClassA und testClassB respectively).

KlasseA setzt auf ClassB für seine normale Funktion, so dass ich sicherstellen möchten, dass ClassB geht seine Tests vor der Ausführung testClassA (sonst sind die Ergebnisse von testClassA wäre sinnlos).

Was ist der beste Weg, dies zu tun? In diesem Fall ist es für eine Zuordnung, damit ich es zu den beiden angegebenen Testklassen, wenn möglich zu halten brauche.

kann / sollte ich eine Ausnahme von testClassA wenn testClassB des Tests werfen nicht alle bestanden? Dies würde testClassB erfordern unsichtbar laufen und nur seinen Erfolg / Misserfolg zu testClassA berichten, anstatt auf die GUI (über JUnit).

Ich bin mit Eclipse und JUnit 4.8.1

Update: Bisher ist die beste, die ich habe es geschafft, eine separate Datei mit einer Test-Suite, wie unten gezeigt. Dies ist immer noch nicht ganz, was ich nach, wie es immer noch erlaubt ClassB Tests durchgeführt werden, wenn KlasseA einige Tests nicht besteht.

import org.junit.runner.RunWith;
import org.junit.runners.Suite;

@RunWith(Suite.class)
@Suite.SuiteClasses({testClassA.class, testClassBCode.class})
public class testClassB {
}
War es hilfreich?

Lösung

Ihre Unit-Tests sollten hängen nicht von anderen Tests.

Eine Lösung für Ihr Problem wäre ClassB in Ihren KlasseA der Tests zu verspotten, um ihr Verhalten zu testen, unabhängig von den Ergebnissen des ClassB des Tests.

Ich empfehle Ihnen, geben Mockito einen Versuch!

Andere Tipps

Sie sollten versuchen, testng Rahmen, der diese Art von Abhängigkeitsprüfung ermöglichen.

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