cucumber- js не может найти определение шага, когда требуется переменная - PullRequest
0 голосов
/ 22 марта 2020

У меня есть функция

// test.feature
    Feature: Test1

      Scenario: To test variables
         Given When no variable succeed
         When When value blah and value blah3


    // test_steps.js
    const { Before, Given, When, Then } = require('cucumber');
const assert = require('assert');


Given(/^When no variable succeed$/, function () {
    assert.equal(1,1)
  });

When(/^When value {string} and value {string}$/, function (val1, val2) {
    return 'pending';
});

какие результаты

> Scenario: To test variables #
> tests/bdd/features_cucumber/test.feature:3    ✔ Given When no variable
> succeed # tests/bdd/features_cucumber/step_definitions/test_steps.js:5
> ? When When value blah and value blah3
>        Undefined. Implement with the following snippet:
> 
>          When('When value blah and value blah3', function () {
>            // Write code here that turns the phrase above into concrete actions
>            return 'pending';
>          });

1 Ответ

1 голос
/ 26 марта 2020

Вы должны добавить кавычки вокруг переменных в файле объектов When When value "blah" and value "blah3"

И вам не нужно регулярное выражение в определении шага. When('When value {string} and value {string}', function (val1, val2) { должно сделать

Если вы используете регулярное выражение в определении шага, то вы должны использовать группы захвата для своих значений. например: When(/^When value "([^"]*)" and value "([^"]*)"$/, function (val1, val2) {

...