Cucumber.js TypeError: Не може да се прочете свойството 'pending' на undefined

Използвам Node.js, cucumber.js (глобално инсталиран) и Web Storm IDE с прост сценарий за добавяне на номер и получавам грешката по-долу. Дефиницията на стъпката няма нищо друго освен callback.pending. някакви мисли, моля?

Тази грешка

Feature: As a math learner
  I want to add two numbers
  so that I can learn how to add

  Scenario:
    Given I have number 3 and 5
    When I add them
    Then I get 8 as result

var myStepDefinitionsWrapper = function () {
    this.Given(/^I have number (\d+) and (\d+)$/, function (arg1, arg2, callback) {
        callback.pending();
    });

    this.When(/^I add them$/, function (callback) {
        callback.pending();
    });

    this.Then(/^I get (\d+) as result$/, function (arg1, callback) {
        callback.pending();
    });
};
module.exports = myStepDefinitionsWrapper;

person Vamsi    schedule 26.04.2015    source източник
comment
TypeError: Не може да се прочете свойството 'pending' на undefined в World. (/Users/wfn936/Repos/customer-svc/features/step_definitions/customer.js:6:17) в Object.invoke (/usr/local/lib/node_modules/cucumber/lib/cucumber/support_code/step_definition.js: 88:14) в Object.execute (/usr/local/lib/node_modules/cucumber/lib/cucumber/ast/step.js:161:22) в Object.acceptVisitor (/usr/local/lib/node_modules/cucumber/ lib/cucumber/ast/step.js:147:12) в Object.executeStep (/usr/local/lib/node_modules/cucumber/lib/cucumber/runtime/ast_tree_walker.js:296:12) в Object.processStep (/ usr/local/lib/node_modules/cucumber/lib/cucumber/runtime/ast_tree_walker.js:291:14) в /usr/local/lib/node_modules/cucumber/lib/cucumber/runtime/ast_tree_walker.js:129:16 в callUserFunctionAndBroadcastAfterEvent (/usr/local/lib/node_modules/cucumber/lib/cucumber/runtime/ast_tree_walker.js:153:9) при итерация (/usr/local/lib/node_modules/cucumber/lib/cucumber/type/collection.js :55:11) в /usr/local/lib/node_modules/cucumber/lib/cucumber/type/collection.js:62:11 в Object.hear (/usr/local/lib/node_modules/cucumber/lib/cucumber/ listener.js:8:9) в /usr/local/lib/node_modules/cucumber/lib/cucumber/runtime/ast_tree_walker.js:179:52 в processItem (/usr/local/lib/node_modules/cucumber/lib/cucumber /type/collection.js:61:9) при итерация (/usr/local/lib/node_modules/cucumber/lib/cucumber/type/collection.js:53:11) при /usr/local/lib/node_modules/cucumber /lib/cucumber/type/collection.js:62:11 в Object.hear (/usr/local/lib/node_modules/cucumber/lib/cucumber/listener.js:8:9) в /usr/local/lib/ node_modules/cucumber/lib/cucumber/runtime/ast_tree_walker.js:179:52 при processItem (/usr/local/lib/node_modules/cucumber/lib/cucumber/type/collection.js:61:9) при итерация (/usr /local/lib/node_modules/cucumber/lib/cucumber/type/collection.js:53:11) в /usr/local/lib/node_modules/cucumber/lib/cucumber/type/collection.js:62:11 в Object .hear (/usr/local/lib/node_modules/cucumber/lib/cucumber/listener.js:8:9) в /usr/local/lib/node_modules/cucumber/lib/cucumber/runtime/ast_tree_walker.js:179: 52 в processItem (/usr/local/lib/node_modules/cucumber/lib/cucumber/type/collection.js:61:9) в iterate (/usr/local/lib/node_modules/cucumber/lib/cucumber/type/collection .js:53:11) в /usr/local/lib/node_modules/cucumber/lib/cucumber/type/collection.js:62:11 в handleBeforeScenarioEvent (/Applications/WebStorm.app/Contents/plugins/CucumberJavaScript/lib/ cucumberjs_formatter_nix.js:97:9)   -  person lena    schedule 27.04.2015


Отговори (1)


TypeError: Не може да се прочете свойството 'pending' на undefined в World. (/Users/wfn936/Repos/customer-svc/features/step_definitions/customer.js:6:17) на ...

се случва, когато броят на уловените аргументи не съвпада с аргументите в предоставеното обратно извикване

Но във вашия случай всичко изглежда наред.

Предлагам ви да преинсталирате cucumber (може би) Проверете още веднъж вашата функция и файл с дефиниция на стъпка

Забележка:

  • използвате ли тези файлове (или може да са други с друго съдържание)
  • подобен тест работи добре за мен. Каква е вашата версия с краставици? работи ли същата функция, когато я стартирате от вашия системен терминал?

Регулярни изрази като /^I have number (\d+) and (\d+)$/ трябва да имат обратни извиквания function (arg1, arg2, callback) {}

  • Регулярни изрази като /^I have number (\d+)$/ трябва да имат обратни извиквания function (arg1, callback) {}

  • наистина ли изглеждат така, както си ги публикувал?

person akaRem    schedule 16.05.2015