Meteor-cucumber/chimp 的步骤定义库

Step definitions library for Meteor-cucumber/chimp

您好,我正在寻找 Meteor-cucumber\chimp 的预定义(通用)步骤定义。

我使用了 PHP 的 Behat(BDD 黄瓜框架)。有这个extensions and this class。这允许您有一个开箱即用的通用步骤定义。您不需要自己编写那些步骤定义。

下面是您从 Behat 获得的步骤定义列表。

简答

这种 step-def 库不存在,我们(Chimp 的作者)不会添加它们,因为我们已经看到它们在长期 运行 中非常有害。

看起来您想要编写测试脚本,在这种情况下,您最好使用带有 Mocha + Customer WebdriverIO 命令的 Chimp 而不是 Cucumber 来编写这些脚本。

长答案

具有简单语言场景和步骤的功能文件旨在发现和表达您的应用程序的领域。自然的自由格式文本鼓励您使用可以与整个团队一起使用的语言 - 也称为无处不在的领域语言。

您想要在 Cucumber 上犯一个最常见的错误,那就是将它用作 UI 测试工具。使用基于 UI 的步骤打破了通用语言原则。

步骤重用应该围绕业务领域,以便您创建无处不在的领域语言。如果您使用 UI 步骤而不是规范,您最终会在不知情的情况下产生技术债务。 Gherkin 语法不易重构,如果更改步骤实现,则需要在多个位置进行更新。对于域问题,这通常不是什么大问题,但对于 UI 测试,您可能会大量重用步骤。

听起来您对良好的代码重用很感兴趣。如果你考虑一下,WebdriverIO 已经有一个很棒的 API,你想要使用的大部分步骤只是 API 的包装器。

与其创建这种无关的翻译,不如直接使用 Mocha 编写测试并访问 WebdriverIO 的 API。这样,您就可以使用完整的 JavaScript 语言来使用一些软件工程实践,而不是简单的 Gherkin 解析器。

WebdriverIO 还有一个很棒的 custom commands 命令,它允许您创建上面提到的所有方法。添加大量这些脚本的扩展文件将非常有用。

我们编写了一个存储库,其中包含最佳实践和一些该做和不该做的课程。特别是,您应该看到:

您可能还想阅读:

为了测试我的 UI 我将使用 Mocha。我不需要黄瓜规格。

作为任务运行器,我将使用 Chimp(Chimp 使用 webdriver.io)。

这是快速摩卡+黑猩猩how to