摩卡客户端可以运行为黄瓜/小黄瓜编写的测试吗?



我们有一个基于Mocha(BDD(的大型测试套件,由Mocha命令行客户端运行。我们的一些设计师/产品经理希望贡献用 Gherkin 语言编写的测试场景(以及 JavaScript 中的 World/Step 定义和 Hooks(。

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

我还不太了解黄瓜/小黄瓜,无法自己回答这个问题,尽管我怀疑这应该不会太难。摩卡和黄瓜似乎都是模块化的,我见过一两个看起来很有前途的插件。但我不太明白这些碎片是如何组合在一起的。


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

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 的使用情况为该文件夹中的所有功能文件生成"步骤定义"文件:

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

我仍然会确保在合并功能文件之前,工程师会正确审查它们,以便在整个功能文件中统一类似的步骤,并且方案有效。

最新更新