2016-11-02 6 views
2

私はnpmとwebpackと反応しました。私はそれにユニットテストを追加しようとしています。私はCDNからjQueryのを使用していJestユニットテストにCDNから外部JSを注入するには?

は私のindex.htmlではなく、ノードモジュールを使用して含まれていました。

私はユニットテストケースを追加したために、コンポーネントTest1でのjQueryを使用しています。今

、私は私が冗談は私がコンポーネントにjQueryのインポートをインポートしていなかったとして、それを解決することができないことを理解 ReferenceError: $ is not defined というエラーを取得していたテストケースを実行しています。

質問があり、どのように冗談を外部JS知らせるには?

答えて

0

これを達成するには、いくつかの方法があります。 Require.jsを使用することをお勧めしますが、すでに動作するはずのBrowserifyやWebpackのような別のバンドラを使用している可能性もあります。 Require.jsのクイックスタートは、thisサンプルプロジェクトです。つまり、CDNファイルでRequire.jsを設定し、バンドルされた結果をフロントエンドで参照し、Require.jsをテストにフックし、他のノードモジュールと同様にrequire()をフックします。

+0

すでにWebpackを使用しているため、Webpackを使用してこれを実現することは可能ですか?また、このドキュメントでは、テストを実行する前にセットアップファイルを実行できると述べています。 https://facebook.github.io/jest/docs/configuration.html#setupfiles-array –

2

我々は冗談でテストの実行を開始する前に必要なすべてのスクリプト/ライブラリ/モジュールを実行できるようにする「にSetupFiles」configurationを利用することができます。

作成と追加「にSetupFiles」へのファイル:[「パス/に/ setup.jsを」]とそのにあなたのライブラリーが含まれます。例えば

global.jQuery = global.$ = require('path/to/jQuery')

見つけてください私のquery冗談のGitHubのレポに掲載。

関連する問題