Cucumber-js: Ouvrez `const { Cli } = require('@cucumber/cucumber')` pour une utilisation par programmation

Créé le 28 juin 2021  ·  3Commentaires  ·  Source: cucumber/cucumber-js

Votre demande de fonctionnalité est liée à un problème ?
Je suis en train d'ajouter la prise en charge de cucumber-js dans StrykerJS, le framework de test de mutation pour JavaScript et ses amis. Voir https://github.com/stryker-mutator/stryker-js/pull/2970

Je voudrais utiliser le concombre par programmation. En fait, je le fais déjà dans le MR. Cependant, je me rends compte que j'utilise une API non documentée, ce que je n'aime pas faire, car l'implémentation pourrait casser dans une version de correctif. Je m'efforce d'utiliser uniquement des API publiques.

Décrivez la solution que vous souhaitez

Accepteriez-vous un PR qui documente l'utilisation de la classe Cli pour un usage public ?

const { Cli } = require('@cucumber/cucumber')

Je l'ajouterais à votre répertoire docs . Soit dans un nouveau fichier ( programmatic-usage.md ) soit en l'ajoutant au fichier cli.md .

Décrivez les alternatives que vous avez envisagées
-

Contexte supplémentaire
Afin de rendre les tests de mutation réalisables, nous avons besoin d'une API programmatique. Appeler simplement childProcess.exec pour exécuter cucumber-js fonctionnerait, mais est terrible pour les performances puisque Stryker exécutera cucumber-js plusieurs fois au cours d'un test de mutation.

documentation

Commentaire le plus utile

Hey @nicojs , ton timing est impeccable ! J'écris ce matin une proposition pour une nouvelle API programmatique qui, espérons-le, vous sera utile. Je vais vous y identifier car ce serait formidable d'avoir vos premiers commentaires.

Tous les 3 commentaires

Vous n'êtes pas le seul à utiliser les API internes pour un usage programmatique.

Je pense que ce serait une bonne idée de stabiliser une telle API et de la documenter.

@concombre/concombre-js qu'en pensez-vous ?

Hey @nicojs , ton timing est impeccable ! J'écris ce matin une proposition pour une nouvelle API programmatique qui, espérons-le, vous sera utile. Je vais vous y identifier car ce serait formidable d'avoir vos premiers commentaires.

Je vais clore ceci car nous avons une bonne discussion sur #1711 à propos d'une nouvelle API pour résoudre ce besoin.

J'ajouterai simplement que l'intention est de laisser la classe Cli fonctionner comme dans 8.0.0, même si elle ne se trouve pas sur l'API publique, pour donner aux développeurs le temps de passer à la nouvelle API et de repasser sur tous les problèmes là-bas.

Cette page vous a été utile?
0 / 5 - 0 notes