Execução de um conjunto de testes da mesma classe, mas com condições iniciais diferentes

Na JUnit 4, eu estou olhando para escrever um conjunto de testes que é composto de vários sabores do mesmo caso de teste, apenas com diferentes condições iniciais em cada um. Aqui está um exemplo:

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


  }
}

Como você pode ver, ambas as classes internas têm SuiteClasses doTestClientServerIntegration.class mas o segundo está mudando alguns valores de variáveis ​​estáticas. Eu estou achando que este construtor nunca é chamado, então essas estatísticas nunca são alteradas.

Meu objetivo final é executar esteTestClientServerIntegration.class mais e mais com vários tipos de entrada. Se eu posso rodar um conjunto de testes dessa maneira, isso seria ideal - por isso espero que seja possível. Eu gostaria de fazer o menor hacker possível do JUnit, mas o que precisa ser feito será feito.

questionAnswers(3)

yourAnswerToTheQuestion