cucumber-js在需要变量时找不到步骤定义

问题描述 投票:0回答:1

我有一个功能

// 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';
>          });
javascript cucumber bdd cucumberjs
1个回答
0
投票

您必须在功能文件中的变量周围添加引号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) {

© www.soinside.com 2019 - 2024. All rights reserved.