ReferenceError: Jest 環境が破棄された後にファイルを `import` しようとしています 質問する

ReferenceError: Jest 環境が破棄された後にファイルを `import` しようとしています 質問する

Animated私はreact native のコンポーネントを利用するコンポーネントを持っています。を含むonPress関数を呼び出すコンポーネントをシミュレートするテスト ケースを書き始めました。Animated.timingsetState

実行はjest正常に動作しますが、テストの実行が停止することはなく、以前に作成した無関係なテスト ケースが 1 つ、現在は合格していないようです (以前は合格していました)。

を実行するjest --watchと、次のエラーが発生します:

ReferenceError: You are trying to `import` a file after the Jest environment has been torn down.

      at Function.bezier (node_modules/react-native/Libraries/Animated/src/Easing.js:113:21)
      at ease (node_modules/react-native/Libraries/Animated/src/Easing.js:34:24)
      at TimingAnimation._easing (node_modules/react-native/Libraries/Animated/src/Easing.js:133:18)
      at TimingAnimation.onUpdate (node_modules/react-native/Libraries/Animated/src/animations/TimingAnimation.js:107:45)

 RUNS  src/__tests__/SlideDownMenu.test.js

/home/nrion/Desktop/mobile-ui/PriceInsight_app/node_modules/react-native/Libraries/Animated/src/Easing.js:114
      return _bezier(x1, y1, x2, y2);
             ^
TypeError: _bezier is not a function
    at Function.bezier (/home/nrion/Desktop/mobile-ui/PriceInsight_app/node_modules/react-native/Libraries/Animated/src/Easing.js:224:12)
    at ease (/home/nrion/Desktop/mobile-ui/PriceInsight_app/node_modules/react-native/Libraries/Animated/src/Easing.js:94:21)
    at TimingAnimation._easing (/home/nrion/Desktop/mobile-ui/PriceInsight_app/node_modules/react-native/Libraries/Animated/src/Easing.js:255:16)
    at TimingAnimation.onUpdate (/home/nrion/Desktop/mobile-ui/PriceInsight_app/node_modules/react-native/Libraries/Animated/src/animations/TimingAnimation.js:138:14)
    at ontimeout (timers.js:386:11)
    at tryOnTimeout (timers.js:250:5)
    at Timer.listOnTimeout (timers.js:214:5)

リンク先

https://repl.it/repls/PartialGrimyMetadata

環境:

  • OS: Linux 4.14
  • ノード: 6.14.2
  • 糸: 1.7.0
  • 3.10.10 より
  • ウォッチマン: 見つかりません
  • Xcode: 該当なし
  • Android Studio: 見つかりません

ベストアンサー1

はい、解決策を見つけました。

使用すべきjest.useFakeTimers()

注: 上記のコードをimportテスト ファイルのセクションの直後に配置します。

おすすめ記事