Cucumber.js TypeError: невозможно прочитать свойство «ожидание» неопределенного

Я использую Node.js, Cucumber.js (установлен глобально) и IDE Web Storm с простым сценарием добавления номера, и я получаю следующую ошибку. В определении шага нет ничего, кроме 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: Невозможно прочитать свойство «ожидание» неопределенного в мире. (/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/ местный/ 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 в handleBeforeScenarioEvent (/Applications/WebStorm.app/Contents/plugins/CucumberJavaScript/lib/cucumberjs_formatter_nix.js:97:9)   -  person lena    schedule 27.04.2015


Ответы (1)


TypeError: Невозможно прочитать свойство «ожидание» неопределенного в мире. (/Users/wfn936/Repos/customer-svc/features/step_definitions/customer.js:6:17) в ...

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

Но в вашем случае все выглядит нормально.

Я предлагаю вам переустановить огурец (возможно). Проверьте еще раз вашу функцию и файл определения шага.

Примечание.

  • вы используете эти файлы (или могут быть другие с другим содержимым)
  • аналогичный тест проходит нормально для меня. Какая у вас версия огурца? работает ли та же функция при запуске с системного терминала?

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

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

  • они действительно выглядят так, как вы написали?

person akaRem    schedule 16.05.2015