您好,我正在使用 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) {
});
有人可以帮我吗?
答案 0 :(得分:0)
据我所知,最好的方法是在您的代码中而不是在功能文件中。
您可以遵循特征文件中的格式并在步骤定义中对其进行处理。
特征文件:
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) {});