問題タブ [babel-jest]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - jest-resolveネストされたモジュールが間違ったパスを解決しています:「reactTags.js」からモジュール「react-dnd」が見つかりません
テストしようとしているモジュールがあります。そのモジュールは他の外部モジュールを使用しており、jest はそれらを解決するのに苦労しています。
ベースパスを次のように解決しています: ./node_modules/react-tag-input/dist-modules/
代わりに: ./node_modules/react-tag-input/node_modules/react-dnd
以下は、何が起こっているかの簡略化されたバージョンです。
エラー:
これは私のテストファイルです: caseevent.test.js
eventtagger.js
パッケージ.json
私は何が欠けていますか?jest-resolve でより深いコンポーネントを見つけたりモックしたりするにはどうすればよいですか?
babeljs - babel-jest を使用する正しい方法は何ですか?
ドキュメントごと: https://github.com/facebook/jest#babel-integration
Babel を使用する場合は、簡単に有効にすることができます。
npm install --save-dev babel-jest babel-polyfill
では、これら 2 つのパッケージをインストールするだけで、他に何もインストールする必要はありません。他のすべては同じように機能しますか?npm test
あなたが使いたいと思うだけbabel-jest
ですか?
jestjs - 冗談で「ドキュメント」を嘲笑する
Web コンポーネント プロジェクトのテストを jest で書こうとしています。私はすでにes2015プリセットでbabelを使用しています。js ファイルの読み込み中に問題が発生しました。document
オブジェクトにオブジェクトがあるコードをたどりましたcurrentScript
。しかし、テストコンテキストではそれはnull
. だから私は同じように嘲笑することを考えていました。しかしjest.fn()
、実際には同じではありません。この問題をどのように処理できますか?
jest が失敗しているコードの一部。
私が書いたテストケース。component.test.js
以下は、jestによってスローされたエラーです
更新: Andreas Köberle からの提案に従って、いくつかのグローバル変数を追加し、次のようにモックしようとしました
しかし運がない
更新:なしで上記のコードを試し__dev__
ました。ドキュメントをグローバルとして設定することによっても。
unit-testing - Jest で実行されるテストの速度に影響を与えるものは何ですか?
私はJest
自分の環境で作業を始めましたが、想定よりも実行速度が遅いと確信しています。
現在、Jest イントロ チュートリアルからコピーした 2 つのテストを実行しています。1 つは単純な合計関数で、もう 1 つはを使用した単純なチェックボックスの例Enzyme
です。実行を開始するまで平均で約 10 秒かかり (Determining test suites to run...
その時間表示されます)、その時点から (タイマーが開始すると) さらに約 10 秒かかります。このような単純なコンポーネントの場合、これはとてつもなく長いようです...
to を設定testEnvironment
しnode
て速度を上げようとしましたが、大きな違いはありませんでした。
それに応じて:
1) これは正常ですか?
Jest
2) そうでない場合 -このように遅くなる原因は何ですか?
いくつかの潜在的な要因?
1) 20 個ほどの反応コンポーネントを含む大規模なプロジェクト内でこれらのテストを実行していますReact
が、どのテストからも参照されていないため、これに影響を与えるべきではないと思います。=/
2)チュートリアルに従ってすべてをフォルダーに入れるのではなく、fileName.test.js
名前付けシステムを使用してテスト ファイルの場所を知らせています。Jest
__tests__