我有一个功能
// 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) {