0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Cucumber.js + TypeScriptではまった話

Last updated at Posted at 2023-06-19

公式ドキュメント通りに進めていくと、実行したときに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で大きい変更が入ったらしく、ちょっと調べるとそれ系のばっかりヒットしてきつかった...

これ以外は公式ドキュメント通りに問題なく動いた

おわり

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?