Comment Assurer un @de la Méthode de Test s'Exécute Toujours Avant Tout les Autres Indépendamment de la Classe, de la Suite ou du Groupe?

Ma lecture de la TestNG docs suggère que si j'ai une méthode d'essai marqué, comme ceci:

  @BeforeSuite(alwaysRun = true)
  @Test
  public void MyTestMethod { ... }

puis MyTestMethod sera lancé avant toute autre test définie n'importe où, indépendamment de la classe, de la suite ou du groupe. Mais cela ne semble pas être le cas.

Est-il un moyen de faire un test d'exécution de méthode inconditionnellement avant tout le reste? (Et que si elle échoue, aucun autre test sera exécuté.)

Edit:

La classe de test:

class Suite_Setup
extends BaseTestSuite
{
  @BeforeSuite(alwaysRun = true)
  def setup() {
    System.out.println("Conducting test suite setup...")

    //Verify that the internal API is configured properly and that the API host is available...
    new Action(ApiHostname, new BasicCookieStore)
  }
}

Edit:

La réponse:

Nous créer nos propres TestNG.xml les fichiers (automatiquement) et l' @BeforeSuite méthode n'était pas inclus. Une fois qu'il a été inclus, @BeforeSuite eu l'effet escompté.

Cependant, il semble que les deux @BeforeSuite (et probablement d'autres @Before... et @After... annotations) peut être mélangé avec @Test et plutôt que de l'inhibition de l'exécution de la méthode annotée, ils causent à exécuter plus d'une fois!

Aussi, je m'en voudrais de ne pas indiquant la version de TestNG je suis en utilisant. C'est 6.2.

  • pouvez-vous préciser comment avez-vous d'inclure BeforeSuite annotation méthode TestNG.xml ? J'ai obligation d'exécuter plusieurs classes en parallèle et besoin pour exécuter le programme d'installation méthode avec BeforeSteuie annotation