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.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage