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.