機能リクエストは問題に関連していますか?
私は、JavaScriptやその仲間たちのためのミューテーションテストフレームワークであるStrykerJSにcucumber-jsのサポートを追加しているところです。 https://github.com/stryker-mutator/stryker-js/pull/2970を参照して
キュウリをプログラムで使いたいです。 実際、私はすでにMRでそれを行っています。 ただし、パッチリリースバージョンで実装が破損する可能性があるため、文書化されていないAPIを使用していることに気付きました。 私はパブリックAPIのみを使用するように努めています。
希望するソリューションを説明してください
Cli
クラスを公に使用することを文書化したPRを受け入れますか?
const { Cli } = require('@cucumber/cucumber')
docsディレクトリに追加します。 新しいファイル( programmatic-usage.md
)に入れるか、 cli.md
ファイルに追加します。
検討した代替案を説明してください
-
追加のコンテキスト
ミューテーションテストを実行可能にするには、プログラムによるAPIが必要です。 childProcess.exec
を呼び出してcucumber-jsを実行するだけでも機能しますが、ミューテーションテストの実行中にStrykerがcucumber-jsを何度も実行するため、パフォーマンスが低下します。
プログラムで使用するために内部APIを使用しているのはあなただけではありません。
そのようなAPIを安定させて文書化するのは良い考えだと思います。
@ cucumber / cucumber-jsどう思いますか?
ねえ@nicojs 、あなたのタイミングは申し分のないです! 私は今朝、新しいプログラマティックAPIの提案を書いていますが、それがあなたの利益になることを願っています。 最初のフィードバックを得るのは素晴らしいことなので、そこでタグを付けます。
このニーズを解決するための新しいAPIについて#1711で良い議論をしているので、これを閉じます。
Cli
クラスを8.0.0の状態のままにして、パブリックAPIにない場合でも、開発者が新しいAPIとアイアンに切り替える時間を与えることを目的としていることを付け加えておきます。そこに問題があります。
最も参考になるコメント
ねえ@nicojs 、あなたのタイミングは申し分のないです! 私は今朝、新しいプログラマティックAPIの提案を書いていますが、それがあなたの利益になることを願っています。 最初のフィードバックを得るのは素晴らしいことなので、そこでタグを付けます。