Запуск набора тестов того же класса, но с другими начальными условиями
В JUnit 4 я собираюсь написать набор тестов, который состоит из нескольких вариантов одного и того же тестового набора, только с разными начальными условиями для каждого. Вот пример:
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";
}
}
}
Как видите, оба внутренних класса имеют SuiteClassesTestClientServerIntegration.class
но второй изменяет некоторые значения статических переменных. Я обнаружил, что этот конструктор никогда не вызывается, поэтому эти статики никогда не меняются.
Моя конечная цель - запустить этоTestClientServerIntegration.class
снова и снова с несколькими типами ввода. Если бы я мог запустить набор тестов таким образом, это было бы идеально - так что, надеюсь, это возможно. Я хотел бы сделать как можно меньше взлома JUnit, но то, что нужно сделать, будет сделано.