流星黄瓜/黑猩猩的步骤定义库

时间:2015-12-28 12:39:34

标签: meteor webdriver-io meteor-cucumber

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

我使用PHP的Behat(BDD黄瓜框架)。这是extensionsclass。这使您可以开箱即用一个共同的步骤定义。您不需要自己编写这些步骤定义。

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

behat -dl

2 个答案:

答案 0 :(得分:4)

简答

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

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

长答案

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

你想要在Cucumber中犯下最常见的错误之一,就是将其用作UI测试工具。使用基于UI的步骤打破了无处不在的语言原则。

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

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

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

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

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

您可能还想阅读:

答案 1 :(得分:0)

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

作为一名任务选手,我将使用Chimp(Chimp使用webdriver.io)。

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