@BeforeClass et de l'héritage - l'ordre d'exécution

J'ai une classe de base abstraite, que j'utilise comme base pour mes tests unitaires (TestNG 5.10). Dans cette classe, j'initialise l'ensemble de l'environnement pour mes tests, configuration des mappages de base de données, etc. Cette classe abstraite est une méthode avec un @BeforeClass annotation qui ne l'initialisation.

Prochaine, j'étends la classe avec des classes spécifiques dans lesquels j'ai @Test méthodes et @BeforeClass méthodes. Ces méthodes spécifiques à la classe d'initialisation de l'environnement (par exemple, certains enregistrements dans la base de données).

Comment je peux faire respecter un ordre précis de la @BeforeClass annoté méthodes? J'ai besoin de ceux de la classe de base abstraite pour être exécuté avant le celles de l'extension de la classe.

Exemple:

abstract class A {
    @BeforeClass
    doInitialization() {...}
}

class B extends A {
    @BeforeClass
    doSpecificInitialization() {...}

    @Test
    doTests() {...}
}

Ordre attendu:

A.doInitialization
B.doSpecificInitialization
B.doTests

De la commande réelle:

B.doSpecificInitialization //<- crashes, as the base init is missing
(A.doInitialization        //<---not executed
 B.doTests)                //<-/