Die Methode @parameters wird vor der Methode @beforeclass ausgeführt

Ich verwende die parametrisierte Funktion von Junit 4 und habe festgestellt, dass die Methode @parameters vor der Methode @beforeclass ausgeführt wird. Dies ist ein Problem für mich, da die Parameter, die ich über @parameters an die Testfälle übergebe, von der Code-Initialisierung in der @beforeclass-Methode abhängen. Zum Beispiel

@RunWith(Parameterized.class)
public class TestOtherClass {

    String argument;
    private static boolean initializeThis;

    public TestOtherClass(String parameter) throws Exception {
        argument=parameter;
    }

    @BeforeClass
    public static void doSetup() {
        System.out.println("Doing setup before class...");
        initializeThis=true; // true or false, based on some condition
    }

    @Test
    public void otherTest() {
        System.out.println("Other test: " + argument);
    }

    @Parameters
    public static Collection<Object[]> getData(){
        System.out.println("Inside parameter");
        String addThis;
        if(initializeThis)
            addThis="adding true";
        else
            addThis="adding false";

        Object[] para1 = new Object[]{"First parameter :: " + addThis};
        Object[] para2 = new Object[]{"Second parameter :: " + addThis};

        Collection<Object[]> classNames = new ArrayList<Object[]>();
        classNames.add(para1);
        classNames.add(para2);
        return classNames;
    }
}

Jetzt initialisiere ich die Variable "initializeThis" in der @beforeclass-Methode auf true, aber (überraschenderweise) wenn ich den Testfall ausführe, den sie ausgibt

Other test: First parameter :: adding false
Other test: Second parameter :: adding false

Das ist etwas nicht zu erwarten.
Meine Frage ist; Gibt es eine Möglichkeit, die @beforeclass-Methode vor @parameters auszuführen? Ist dies in Juni 4 möglich?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage