分度器とGulpでCucumberJSをセットアップしました。ここで入手可能なドキュメントに従いました: https://github.com/cucumber/cucumber-js
機能ファイルとステップ定義ファイルがあります。また、support フォルダーに world.js ファイルを作成し、ステップ定義ファイルに次のようにロードします。
this.World = require("../support/world.js").World;
したがって、ドキュメントに示されているのと同じ方法です。この瞬間まですべてが機能します。
ケースにキュウリのフックをいくつか追加しようとしました。ドキュメントで提案されているように、supportフォルダーに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 メソッドは実行されません。
何か案は?