2017-01-25 34 views
9

私はreactJSコンポーネントをテストするためにjestを使用しています。私reactJSコンポーネントで は、私はjQueryのUIを使用する必要があるので、私はコンポーネントでこれを追加しました:reactjs jest jQueryが定義されていません

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

そして、それがうまく働きました。アプリでのjQueryを使用している場合しかし、今、私がテストを行うには冗談を使用する必要がありますが、私はtestutilsにコンポーネントをロードするとき、私はすぐにこの問題を満たし、

Test suite failed to run 
ReferenceError: jQuery is not defined 

は、誰もがこの問題を満たしていますか?

ありがとうございます。

+0

可能な複製http://stackoverflow.com/questions/41800122/uncaught-referenceerror-jquery-is-not-defined-with-create-react-app/ –

+0

あなたは 'windowを試しましたか?$ = require( ' jquery '); '? – Tholle

答えて

18

グローバルオブジェクトにjQuery依存関係を追加できます。冗談キーの下に、あなたのpackage.jsonで次

  1. を行いますが、テストenv.jsの内容は、この

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

  2. のように見えるこの "setupFiles": ["test-env.js"]

  3. ようにSetupFilesを追加します

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

+0

この回答は他のどの項目よりも優れていました。次のようにROOTDIRにちょうどノート、それは使用することができます: "冗談":{ ... "にSetupFiles":[」 " /test-env.js" 私の冗談のセットアップはfolowingのように見えました /test-env.js "] } –

関連する問題