当需要变量时,cucumber-js 找不到步骤定义
cucumber-js cannot find the step definition when a variable is needed
我有一个功能
// 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';
> });
您必须在特征文件中的变量周围添加引号
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) {
我有一个功能
// 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';
> });
您必须在特征文件中的变量周围添加引号
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) {