Cucumber-js: 打开 `const { Cli } = require('@cucumber/cucumber')` 以进行编程使用

创建于 2021-06-28  ·  3评论  ·  资料来源: cucumber/cucumber-js

您的功能请求是否与问题有关?
我正在为 StrykerJS(JavaScript 和朋友的突变测试框架)添加对 cucumber-js 的支持。 见https://github.com/stryker-mutator/stryker-js/pull/2970

我想以编程方式使用黄瓜。 事实上,我已经在 MR 中这样做了。 但是,我意识到我正在使用未记录的 API,我不喜欢这样做,因为实现可能会在补丁发布版本中中断。 我努力只使用公共 API。

描述您想要的解决方案

你会接受记录Cli类用于公共用途的 PR 吗?

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

我会将它添加到您的文档目录中。 在新文件 ( programmatic-usage.md ) 中或将其添加到cli.md文件中。

描述您考虑过的替代方案
-

附加上下文
为了使突变测试可行,我们需要一个程序化 API。 简单地调用childProcess.exec来执行 cucumber-js 是可行的,但是对于性能来说很糟糕,因为 Stryker 会在突变测试运行期间多次运行 cucumber-js。

documentation

最有用的评论

@nicojs ,你的时机无可挑剔! 今天早上我正在为一个新的程序化 API 写一份提案,希望对你有所帮助。 我会在那里标记您,因为很高兴获得您的初步反馈。

所有3条评论

您不是唯一一个使用内部 API 进行编程使用的人。

我认为稳定这样的 API 并记录它是一个好主意。

@cucumber/cucumber-js 你怎么看?

@nicojs ,你的时机无可挑剔! 今天早上我正在为一个新的程序化 API 写一份提案,希望对你有所帮助。 我会在那里标记您,因为很高兴获得您的初步反馈。

当我们在#1711 上就解决此需求的新 API 进行了很好的讨论时,将关闭此内容。

我只是补充一点,目的是让Cli类按照 8.0.0 中的方式工作,即使它不在公共 API 上,也让开发人员有时间切换到新的 API 和 Iron解决那里的任何问题。

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

jan-molak picture jan-molak  ·  4评论

arjunjh10 picture arjunjh10  ·  7评论

lamartire picture lamartire  ·  6评论

protoman92 picture protoman92  ·  3评论

stefdelec picture stefdelec  ·  6评论