【问题标题】:Optional parameters in Cucumber-JSCucumber-JS 中的可选参数
【发布时间】:2021-06-07 15:10:48
【问题描述】:

您好,我正在使用 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) {

});

有人可以帮我吗?

【问题讨论】:

    标签: javascript optional-parameters gherkin cucumberjs


    【解决方案1】:

    据我所知,最好的方法是在您的代码中而不是在功能文件中。

    您可以遵循特征文件中的格式并在步骤定义中对其进行处理。

    功能文件:

      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) {});
    

    【讨论】:

    • 感谢您回答拉朱。但是,满足这三种场景的步骤定义是什么?
    • 嘿@GermanLarcher,编辑了我的答案。请检查是否有效。我无法测试。如果您仍然遇到问题,请告诉我。
    • 嗨,Raju,感谢您的回复,我的朋友。它似乎有效,但以这种方式: given(/^I provide "([^"]*)" as parameters$/, function (optionalParam1, optionalParam2) { }); 无论如何,我一直在处理 dataTables 和它似乎是一个更好的解决方案,因为您可以传递任意数量的参数,然后您可以将表格转换为数组。所以感谢 Raju !! :) 问候
    猜你喜欢
    • 2017-05-08
    • 2021-05-13
    • 2017-12-03
    • 2014-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-17
    • 2020-11-20
    相关资源
    最近更新 更多