web-dev-qa-db-ja.com

reactjs jest jQueryが定義されていません

Jestを使用して、reactJSコンポーネントをテストしています。 reactJSコンポーネントでは、jquery UIを使用する必要があるため、これをコンポーネントに追加しました。

var jQuery = require('jquery');
require('jquery-ui/ui/core');
require('jquery-ui/ui/draggable');
require('jquery-ui/ui/resizable');

そして、それはうまくいきました。しかし、今はテストを行うためにjestを使用する必要がありますが、コンポーネントをtestutilsにロードするとすぐにこの問題が発生し、

Test suite failed to run
ReferenceError: jQuery is not defined 

アプリでjQueryを使用している場合、誰かがこの問題に遭遇しましたか?

ありがとう

18
user3006967

グローバルオブジェクトにjQuery依存関係を追加できます。以下をせよ

  1. Package.jsonで、jestキーの下に次のようなsetupFilesを追加します"setupFiles": ["test-env.js"]

  2. Test-env.jsのコンテンツは次のようになります

    import $ from 'jquery'; global.$ = global.jQuery = $;

RootDirからtest-envへのパスが正しいことを確認してください。 rootDirはJestで利用可能です。

35
mdsAyubi