Ausführen einer Testsuite derselben Klasse, jedoch mit unterschiedlichen Anfangsbedingungen
In JUnit 4 möchte ich eine Testsuite schreiben, die aus mehreren Varianten desselben Testfalls besteht, nur mit unterschiedlichen Anfangsbedingungen für jede einzelne. Hier ist ein Beispiel:
import java.io.File;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.junit.runners.Suite.SuiteClasses;
@RunWith(Suite.class)
@SuiteClasses({MultiInputClientServerIntegrationTest.NormalInput.class,
MultiInputClientServerIntegrationTest.SimulationHashIssue.class})
public class MultiInputClientServerIntegrationTest {
@RunWith(Suite.class)
@SuiteClasses({TestClientServerIntegration.class})
public class NormalInput {}
@RunWith(Suite.class)
@SuiteClasses({TestClientServerIntegration.class})
public class SimulationHashIssue {
public SimulationHashIssue() {
TestClientServerIntegration.simulation = new File("test\\BEECHA01\\sim2.zip");
TestClientServerIntegration.inputFile = "files\\config.in";
}
}
}
Wie Sie sehen können, haben beide inneren Klassen SuiteClasses derTestClientServerIntegration.class
Der zweite ändert jedoch einige statische Variablenwerte. Ich finde, dass dieser Konstruktor nie aufgerufen wird, so dass diese Statik nie geändert wird.
Mein Endziel ist es, dies auszuführenTestClientServerIntegration.class
immer und immer wieder mit mehreren Arten von Eingaben. Wenn ich eine Testsuite auf diese Weise ausführen kann, wäre das ideal - also ist es hoffentlich möglich. Ich würde gerne so wenig wie möglich von JUnit hacken, aber was getan werden muss, wird getan.