Uruchamianie pakietu testowego tej samej klasy, ale z różnymi warunkami początkowymi

W JUnit 4 staram się napisać zestaw testów złożony z wielu odmian tego samego przypadku testowego, z różnymi warunkami początkowymi na każdym z nich. Oto przykład:

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";
    }


  }
}

Jak widać, obie klasy wewnętrzne mają SuiteClasses of theTestClientServerIntegration.class ale drugi zmienia niektóre wartości zmiennych statycznych. Stwierdzam, że ten konstruktor nigdy nie zostanie wywołany, więc te statyki nigdy się nie zmienią.

Moim celem jest uruchomienie tegoTestClientServerIntegration.class w kółko z wieloma typami danych wejściowych. Gdybym mógł uruchomić zestaw testów w ten sposób, byłoby to idealne - więc miejmy nadzieję, że jest to możliwe. Chciałbym zrobić jak najmniej hakowania JUnit, ale to, co trzeba zrobić, zostanie zrobione.

questionAnswers(3)

yourAnswerToTheQuestion