javascript - Mocha 客户端可以运行为 Cucumber/Gherkin 编写的测试吗?

标签 javascript cucumber mocha.js integration gherkin

我们有一个基于 Mocha 的大型测试套件( BDD ),并由 Mocha command-line client 运行.我们的一些设计师/产品经理愿意贡献在 Gherkin 中编写的测试场景。语言(加上 World/Step 定义和 JavaScript 中的 Hooks)。

如果我们想将这些新的测试场景集成到我们现有的 Mocha 测试树中,在不牺牲任何基本的情况下推荐的方法是什么 Cucumber功能? (理想情况下,这些相同的测试也应该仍然可以使用 Cucumber client 运行。)

我对 Cucumber/Gherkin 的理解还不够好,无法自己回答这个问题,不过我认为这应该不会太难。 Mocha 和 Cucumber 似乎都非常模块化,我见过一两个 plugins看起来很有希望。但我不太明白这些部分是如何组合在一起的。


例如,我想像这样的事情应该可以通过正确的设置实现:

import gherkinToMocha from 'gherkin-to-mocha'

describe('test-tree', () => {
    describe('Mocha test', () => {
        it('can run', () => {})
    })
    describe('Cucumber / Gherkin tests', () => {
        return gherkinToMocha('./test-scenario.feature')
    })
})

最佳答案

我看到的最直接的快速允许产品和设计人员定义功能文件然后将场景与您当前的测试套件集成的方法可能是使用 mocha-gherkin你提到的工具。

您可以在您的存储库中创建一个可用的文件夹,产品和设计人员可以在其中自由推送功能文件。然后你可以有一个脚本来根据 mocha-gherkin 的用法为该文件夹中的所有功能文件生成“步骤定义”文件:

cat file.feature | mocha-gherkin > test.js

我仍然会确保在合并功能文件之前,工程师对它们进行了适当的审查,以便在整个功能文件中使相似的步骤统一,并且场景有效。

关于javascript - Mocha 客户端可以运行为 Cucumber/Gherkin 编写的测试吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48351514/

相关文章:

javascript - 如何让 Javascript 的 IMPORT EXPORT 工作。我需要转译器吗?

javascript - 没有 "var = "的变量可以吗?

javascript - 确保 Window.prompt 返回的值只包含字母

ruby-on-rails - rails : Cucumber not cleaning DB

testing - 我应该如何在 Mocha 中测试客户端/服务器socket.io?

javascript - 整数溢出到负数

android - BDD Android UI 测试框架?

java - cucumber 场景 : getSourceTagNames() inconsistently returns list in random order

javascript - 使用生成器函数进行 Mocha 测试中的静默错误

javascript - 使用 Webpack 和 mocha-loader 在浏览器中从 React 应用程序运行 Mocha 规范