Я устанавливаю CucumberJS с Protractor и Gulp. Я следовал документации, доступной здесь: https://github.com/cucumber/cucumber-js
У меня есть файл функций и файл определения шага. Я также создал файл world.js в папке поддержки, и он загружается в мой файл определения шага с помощью:
this.World = require("../support/world.js").World;
Так же, как это представлено в документации. Все работает до сего момента.
Я попытался добавить к своему чехлу несколько крючков для огурцов. Я создал файл hooks.js в папке поддержки, как это предлагается в документации, поэтому:
// features/support/hooks.js (this path is just a suggestion)
var myHooks = function () {
this.Before(function (callback) {
// Just like inside step definitions, "this" is set to a World instance.
// It's actually the same instance the current scenario step definitions
// will receive.
// Let's say we have a bunch of "maintenance" methods available on our World
// instance, we can fire some to prepare the application for the next
// scenario:
console.log("Before hook");
// Don't forget to tell Cucumber when you're done:
callback();
});
};
module.exports = myHooks;
В документации не сказано, как этот файл hook.js должен быть загружен в моих определениях шагов, поэтому я предполагаю, что он каким-то образом загружается с подходом «соглашение вместо конфигурации». К сожалению, файл не загружается и метод Before не выполняется.
Любые идеи?