JUnit @Parametrisierte Funktion wird ausgeführt, bevor @BeforeClass in einer test-suite?

Ich bin mit einem JUnit-test-suite laufen noch ein paar tests, von denen mehrere Male mit @Parametriert werden. Ich finde, dass wenn ich mit meinen tests, die @Parametrisierte Funktion wird ausgeführt, bevor @BeforeClass. Ist das erwartete Verhalten, oder ist etwas anderes passiert? Ich hätte erwartet, dass die @BeforeClass laufen würde, bevor die tests gestartet werden.

Hier ist meine test-suite:

@RunWith(Suite.class)
@SuiteClasses({ Test1.class, Test2.class })
public class TestSuite {

    @BeforeClass
    public static void setup() throws Exception {
        //setup, I want this to be run before anything else
    }

}

Test1 wird @Parametrisierten:

public class Test1 {

    private String value;

    //@Parameterized function which appears to run before @BeforeClass setup()
    @Parameterized.Parameters
    public static Collection<Object[]> configurations() throws InterruptedException {

        //Code which relies on setup() to be run first

    }

    public Test1(String value) {
        this.value = value;
    }

    @Test
    public void testA() {
        //Test  
    }
}

Wie kann ich dieses Problem beheben laufen die @BeforeClass-setup () - Funktion vor der Ausführung noch etwas anderes?

InformationsquelleAutor Corey Wu | 2014-03-13
Schreibe einen Kommentar