公式ドキュメント通りに進めていくと、実行したときにstepがundifiend(未定義)というエラーが出た
JavaScriptでstepファイルを作成すると成功したので、TypeScript周りの問題っぽい
とりあえずTypeScriptの実行に必要なts-nodeをinstall
npm install ts-node -D
で、cucumber.jsをこんな感じにしたら実行できるようになった
module.exports = {
default: [
'./test/features/**/*.feature', // 実行対象のfeatureファイルを指定。ここは先頭じゃないとダメ
'--require-module ts-node/register', // ts-nodeを使うように指定
'--require ./test/features/**/*.ts', // 実行対象のtsファイルを指定
].join(' '),
};
CLIではこんな感じでやるといける
cucumber-js --config cucumber.js
NODE_ENVの指定入れる場合はこんな感じ
NODE_ENV=test cucumber-js --config cucumber.js
cucumber.jsのオプションとかを調べまくってたけど、どうやらオプションの書き方によっては効いてない感じがする
(今回のように、無理矢理文字列くっつけるやり方だといける)
設定系のオプションは一応こちらを参照
調べた感じ、nodeのバージョン関係で動いたり動かなかったりしてるっぽい(今回僕が使っていたのはv18.12.0 (LTS))
一応、Cucumberのバージョンは9.1.2
6と7で大きい変更が入ったらしく、ちょっと調べるとそれ系のばっかりヒットしてきつかった...
これ以外は公式ドキュメント通りに問題なく動いた
おわり