3 votes

Cucumber jvm semble utiliser System.exit

Je suis en train d'appeler Cucumber JVM dans le cadre d'un cycle de vie maven en utilisant le plugin exec. Cependant, Cucumber semble utiliser System.exit() lorsqu'il se termine, ce qui arrête prématurément mon exécution maven. Cela me force à le forker vers un processus séparé, mais cela pose des problèmes lorsque j'essaie de déboguer un test.

Y a-t-il un moyen de demander poliment à Cucumber JVM de ne pas utiliser System.exit() lorsqu'il se termine ?

4voto

Matt Points 4917

(Je suppose qu'il y a une bonne raison de ne pas utiliser le junit runner et que vous appelez cucumber.api.cli.Main, si l'une des hypothèses est fausse, veuillez clarifier la question)

La solution la plus simple/la plus expéditive, étant donné que cucumber.api.cli.Main est d'environ 4 lignes de code, est d'écrire votre propre méthode principale qui est un clone de celle de cucumber sans l'appel à System.exit.

Vous pourriez également soulever le problème sur leur site github et/ou leur envoyer une pull request avec l'ajustement requis à leur classe Main (par exemple, ne pas faire le system.exit si une propriété système a été définie).

1voto

Lors de l'appel à la ligne de commande, utilisez

mvn exec:exec

au lieu de

mvn exec:java

pour éviter que maven ne soit exécuté dans le même VM que cucumber. exex:exec exec:java

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X