[解決済み】Jestでprocess.envをテストする。
2022-04-10 11:18:58
質問
環境変数に依存するようなアプリケーションを持っています。
const APP_PORT = process.env.APP_PORT || 8080;
そして、例えばそれをテストしてみたいと思います。
- APP_PORTはNode.jsの環境変数で設定することができます。
-
または
Express.js
で設定したポートでアプリケーションが動作していることを示します。
process.env.APP_PORT
Jestで実現するにはどうしたらいいですか?私はこれらを設定することができます
process.env
それともモック化する必要があるのでしょうか?
どのように解決するのですか?
私が行った方法 Stack Overflowの質問で見ることができます。 .
を使用することが重要です。 resetModules をテスト前に実行し、テスト内で動的にモジュールをインポートします。
describe('environmental variables', () => {
const OLD_ENV = process.env;
beforeEach(() => {
jest.resetModules() // Most important - it clears the cache
process.env = { ...OLD_ENV }; // Make a copy
});
afterAll(() => {
process.env = OLD_ENV; // Restore old environment
});
test('will receive process.env variables', () => {
// Set the variables
process.env.NODE_ENV = 'dev';
process.env.PROXY_PREFIX = '/new-prefix/';
process.env.API_URL = 'https://new-api.com/';
process.env.APP_PORT = '7080';
process.env.USE_PROXY = 'false';
const testedModule = require('../../config/env').default
// ... actual testing
});
});
Jestを実行する前に環境の値をロードする方法を探しているのであれば 答えは以下の通り . を使用する必要があります。 セットアップファイル を使用します。
関連
-
[解決済み] エラー: nodejs の get 呼び出しで getaddrinfo ENOTFOUND が発生しました。
-
[解決済み] E: npm パッケージを見つけることができません。
-
[解決済み] エラーです。Cannot find module 'ejs'
-
[解決済み] Jestを使用して単一のテストを実行するにはどうすればよいですか?
-
[解決済み] Jestを使用して1つのファイルをテストするにはどうすればよいですか?
-
[解決済み] forEachループでasync/awaitを使用する
-
[解決済み] Node.jsを使うタイミングをどう判断するか?
-
[解決済み] Javaから環境変数を設定するにはどうしたらいいですか?
-
[解決済み】Jenkinsで環境変数を設定する方法は?
-
[解決済み] JUnitを使用して環境変数に依存するコードをテストする方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】モジュール '@babel/core' が見つかりません。
-
[解決済み] AWS lambda function error - Unable to import module 'index': エラー
-
[解決済み] npm install エラー - ローカルの発行者証明書を取得できません。
-
[解決済み] Heroku "状態が起動から停止に変更されました SIGTERMで全プロセスを停止"
-
[解決済み] nvm は npm config の "prefix" オプションと互換性がありません。
-
[解決済み] Yarn にパッケージを強制的に再インストールさせるにはどうしたらいいですか?
-
[解決済み] node.jsのセットアップウィザードが途中で終了してしまう
-
[解決済み] ノードマータ予期せぬフィールド
-
[解決済み] バルク更新を行う。
-
[解決済み] NPMが同じエラーで固まる EISDIR: ディレクトリに対する不正な操作、エラーで読み込み (ネイティブ)