web-dev-qa-db-ja.com

jestグローバル変数の例

誰かがjestグローバルを使用する方法の例を与えることができますか?

{
  ...
  "jest": {
    "globals": {
      "__DEV__": true,
    }
  }
  ...
}

Package.jsonファイルでグローバルを指定するか、グローバルを定義する必要があるjsファイルを使用してフォルダーを作成しますか?

ありがとう

18
tadalendas

うん。 package.jsonにグローバルを配置します。たとえば、デフォルトの反応ネイティブjest設定からの抜粋は次のとおりです。

"jest": {
    "globals": {
       "__DEV__": true,
       "__RCTProfileIsProfiling": false
     },
     ...
},

これにより、テストの実行時に変数がグローバルに利用可能になります。

34
Michael Helvey

私にとって、Jest構成ファイルを使用すると、Javascriptファイルそのものであるため、はるかにうまく機能し、完全に自由になります。

フォルダーでjest --initを実行した後、Jestが作成するjest.config.jsファイルで、下にスクロールして以下を見つけます。

// A set of global variables that need to be available in all test environments
// globals: {},

2行目のコメントを解除して、すべてのグローバルをそこに配置します。

2
aarman

グローバルを追加するよりクリーンな方法は、package.jsonで_"setupFiles": "<rootDir>/private/jest/setup.js"_を設定してから、_global.__DEV__ = true_を設定するsetup.jsファイルを作成することです。

このパターンは、サードパーティのライブラリをJestテストのグローバルとしても使用可能にするのに役立ちます(Backbone、jQuery、lodashなど)。 global.Backbone = require('backbone');など。

(これは以前はMichael Helveyの回答に基づく単なるコメントであったため、これを回答として再送信します。)

0
nickang