我们有一个基于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')
})
})
答案 0 :(得分:0)
我看到的最直接的方法是让产品和设计人员快速定义功能文件,然后将这些方案与您当前的测试套件集成,可能会使用您提到的mocha-gherkin工具。
您可以在存储库中创建一个文件夹,产品和设计人员可以随意推送功能文件。然后,您可以根据mocha-gherkin的用法,使用脚本为该文件夹中的所有要素文件生成“步骤定义”文件:
cat file.feature | mocha-gherkin > test.js
我还要确保在合并要素文件之前,工程师会对它们进行适当的审核,以便在整个要素文件中统一相似的步骤,并且方案有效。