2
votes

Comment l'ordre des crochets «Après» peut être configuré dans Cucumber js?

Il y a plusieurs hooks 'After' et l'un d'eux devrait être le premier que les autres, comment cela pourrait-il être configuré dans le Cucumber JS?


1 commentaires

Quand il est défini dans le même fichier, c'est assez facile. Mais je suppose que votre question est quand vous avez plusieurs hooks "After" définis dans plusieurs fichiers, non?


4 Réponses :


0
votes

Trié de haut en bas dans le fichier hooks

After({}, async function() {
  return "This will run first";
});

After({}, async function() {
  return "tThis will run second";
});


0 commentaires

1
votes

Vous pouvez configurer explicitement les hooks pour qu'ils s'exécutent dans un certain ordre:

@Before(order = 10)  // Annotated method
public void doSomething(){
    // Do something before each scenario
}

Before(10, () -> {   // Lambda
    // Do something before each scenario
});

Il semble que cela fonctionne également pour @After hooks .

Edit: Laisser ceci au cas où cela serait utile pour n'importe quel Java - j'ai manqué que c'était JS, désolé! Mais pour Javascript:

Hooks sont exécutées dans l'ordre dans lequel elles sont définies. Si cela ne le fait pas pour vous, créez un hook et appelez explicitement les autres méthodes.


2 commentaires

L'option de crochet de commande n'est pas disponible dans Cucumber JS


@ fabien7474 Merci, mon cerveau était manifestement endormi quand j'ai écrit ceci. Ajout d'une note pour Javascript.



0
votes

Vous pouvez utiliser le concept de balises pour chaque scénario dans le fichier d'entités concombre et utiliser la même balise sur chaque annotation @After, ce qui résoudra pour quel scénario de test cet @After spécifique doit s'exécuter


0 commentaires

0
votes

Hooks est un fichier qui sera exécuté de haut en bas. Si vous avez plus de balises After, faites en sorte que ce que vous voulez fermer en premier soit le premier et le dernier ce que vous voulez exécuter en dernier. Si vous avez des balises dans votre fichier d'entités, transmettez ces informations à l'Après spécifique


0 commentaires