1. ホーム
  2. node.js

[解決済み] JestによるNODE_ENV

2022-02-19 14:10:08

質問

MochaからJestに移行しています。私のテストは、NODE_ENV変数に依存して設定ファイルまたは別のものを選択する「config」パッケージをインポートします。しかし、Jestからテストを実行している間、NODE_ENV変数がconfigによって発見されたように見えます。

次の行はうまくいきません(つまり、NODE_ENVは無視されます)。

 NODE_ENV=test jest test/*.js --notify --config jest.config.json

その結果、'config' パッケージが報告します。

console.error node_modules/config/lib/config.js:1727
WARNING: NODE_ENV value of 'test' did not match any deployment config file names. 

NODE_ENVをインクルードする方法を知っていますか?

どのように解決するのですか?

Jestは自動的に環境変数を定義する NODE_ENV として test (参照 https://jestjs.io/docs/en/getting-started.html ) のエラーメッセージから確認できます。

console.error node_modules/config/lib/config.js:1727
WARNING: NODE_ENV value of 'test' did not match any deployment config file names. 

単純にconfig/test.jsonを作成し、その内容をインクルードするだけでいいのです。 {} これは、空の有効なJSONオブジェクトです。

参照 https://github.com/lorenwest/node-config/wiki/Strict-Mode

備考 を使用した場合、前述のエラーが発生します。 コンフィグ パッケージがあり、config ディレクトリに test.json ファイルがない場合。