javascript - Cucumber-JS 中的可选参数
问题描述
您好,我正在使用 cucumber-js,考虑到参数是可选的,我只想让一个步骤可重复用于多个场景。
feature file:
Scenario: with no parameters
Given I provide "0" parametes:
When anything
Then anithing
Scenario: with 1 parameters
Given I provide "1" parametes:"parameter1"
When anything
Then anithing
Scenario: with 2 parameters
Given I provide "2" parametes:"parameter1", "parameter2"
When anything
Then anithing
我只想为这 3 个场景定义一个步骤。我放了这样的东西,但是这个步骤定义只对“带有 2 个参数”的场景有效。
JS中的步骤定义文件:
Given(/^I provide "([^"]*)" parametes:"([^"]*)", "([^"]*)"$/, function (optionalParam1, optionalParam2) {
});
或像这样:
Given('I provide {string} parametes:{string}, {string}', function (paramQuantity, optionalParam1, optionalParam2) {
});
有人可以帮助我吗?
解决方案
据我所知,最好的方法是在您的代码中而不是在功能文件中。
您可以遵循特征文件中的格式并在步骤定义中对其进行处理。
功能文件:
Scenario: with no parameters
Given I provide " " as parameters
When anything
Then anything
Scenario: with 1 parameter
Given I provide "parameter1" as parameters
When anything
Then anything
Scenario: with 2 parameters
Given I provide "parameter1,parameter2" as parameters
When anything
Then anything
步骤定义:
Given(/^I provide "([^"]*)" parametes:"([^"]*)", "([^"]*)"$/, function (optionalParam1, optionalParam2) {});
推荐阅读
- compilation - 当 setup.py 更改为 Pip 可编辑时重新编译 Cython 扩展
- scala - Spark Dataframe : Custom Function on Window
- api - How to host WSO2 API manager?
- ruby-on-rails - Rails query with more than one nested attributes
- html - 在工具提示中插入 html 标签
- vba - Get row and column number of first cell in Excel table
- vue.js - (VUEJS) Access methods from Axios inside created
- r - 平滑线没有线浸ggplot
- php - 使用 php mysql Ajax 使用弹出表单在数据库中插入数据
- docker - 如何将 Kong 部署到 docker swarm?