Cucumber-js: Öffnen Sie `const { Cli } = require('@cucumber/cucumber')` für die programmatische Verwendung

Erstellt am 28. Juni 2021  ·  3Kommentare  ·  Quelle: cucumber/cucumber-js

Bezieht sich Ihre Funktionsanfrage auf ein Problem?
Ich bin dabei, Unterstützung für gurken-js in StrykerJS hinzuzufügen, dem Mutationstest-Framework für JavaScript und Freunde. Siehe https://github.com/stryker-mutator/stryker-js/pull/2970

Ich möchte Gurke programmatisch verwenden. Tatsächlich mache ich das bereits im MR. Mir ist jedoch klar, dass ich eine undokumentierte API verwende, was ich nicht mag, da die Implementierung in einer Patch-Release-Version kaputt gehen könnte. Ich bemühe mich, nur öffentliche APIs zu verwenden.

Beschreiben Sie die gewünschte Lösung

Würden Sie eine PR akzeptieren, die die Verwendung der Klasse Cli für die öffentliche Verwendung dokumentiert?

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

Ich würde es zu Ihrem Docs- Verzeichnis hinzufügen. Entweder in einer neuen Datei ( programmatic-usage.md ) oder fügen Sie sie der Datei cli.md .

Beschreiben Sie Alternativen, die Sie in Betracht gezogen haben
-

Zusätzlicher Kontext
Um Mutationstests durchführbar zu machen, benötigen wir eine programmatische API. Der einfache Aufruf von childProcess.exec zum Ausführen von cucumber-js würde funktionieren, ist jedoch für die Leistung schrecklich, da Stryker cucumber-js während eines Mutationstestlaufs viele Male ausführen wird.

documentation

Hilfreichster Kommentar

Hey @nicojs , dein Timing ist tadellos! Ich schreibe heute Morgen einen Vorschlag für eine neue programmatische API, von der Sie hoffentlich profitieren. Ich werde Sie dort markieren, da es großartig wäre, Ihr erstes Feedback zu erhalten.

Alle 3 Kommentare

Sie sind nicht der Einzige, der die internen APIs für eine programmatische Nutzung verwendet.

Ich denke, es wäre eine gute Idee, eine solche API zu stabilisieren und zu dokumentieren.

@cucumber/cucumber-js was denkst du?

Hey @nicojs , dein Timing ist tadellos! Ich schreibe heute Morgen einen Vorschlag für eine neue programmatische API, von der Sie hoffentlich profitieren. Ich werde Sie dort markieren, da es großartig wäre, Ihr erstes Feedback zu erhalten.

Ich werde dies schließen, da wir auf #1711 eine gute Diskussion über eine neue API zur Lösung dieses Bedarfs führen.

Ich möchte nur hinzufügen, dass die Absicht darin besteht, die Klasse Cli so zu belassen, wie sie in 8.0.0 ist, auch wenn sie nicht in der öffentlichen API enthalten ist, um Entwicklern Zeit zu geben, auf die neue API und das neue Eisen umzusteigen alle Probleme dort aus.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

kozhevnikov picture kozhevnikov  ·  6Kommentare

jan-molak picture jan-molak  ·  4Kommentare

edwinwright picture edwinwright  ·  3Kommentare

NoNameProvided picture NoNameProvided  ·  5Kommentare

protoman92 picture protoman92  ·  3Kommentare