問題タブ [jestjs]

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.

0 投票する
21 に答える
164257 参照

javascript - Jestでモックデートを設定するにはどうすればよいですか?

Moment.js を使用して、React コンポーネントのヘルパー ファイルで日付ロジックのほとんどを実行していますが、Jest a la で日付をモックする方法を理解できませんでしたsinon.useFakeTimers()

Jest のドキュメントではsetTimeoutsetIntervalなどのタイマー関数についてのみ説明していますが、日付を設定してから、日付関数が意図したとおりに機能することを確認することはできません。

これが私のJSファイルの一部です:

Jestを使用して設定したものは次のとおりです。

私は瞬間を使用しており、関数は瞬間を使用しているため、これらのテストは成功しましたが、少し不安定なようで、テストのために日付を固定時間に設定したいと思います。

それをどのように達成できるかについてのアイデアはありますか?

0 投票する
3 に答える
7699 参照

react-native - React Native で Jest を使用する方法

React Native のドキュメントのテスト セクションでは、Jest が単体テストを行う公式の方法であることが示唆されています。ただし、セットアップ方法については説明していません。セットアップなしで Jest を実行すると、React Native コードが使用する傾向がある変換 (ES6 機能、JSX、Flow など) が適用されないため、構文エラー (行番号なし:( ) が発生しますjestSupport。React Native ソース トライにフォルダーがあります。と が含まれてenv.jsおりscriptPrerocess.js、後者には変換を適用するためのコードがあります。したがって、それらをプロジェクトにコピーし、package.json に次のセクションを追加しました。

これで最初のエラーは修正されますが、それでも次のエラーが発生します。

Jest に React Native を理解させるために必要なことは他にありますか? React Native をテストするための Jest セットアップの例はありますか?

編集:

もちろん、React Native全体が含まれているscriptPreprocessファイルでの実行を停止するチェックインがありました。node_modulesそれを削除すると、上記のエラーが修正されます。ただし、React Native ソースからより多くのエラーが発生するようになりました。Jest 内で実行することを意図していないようです。

EDIT2:

react-nativeモジュールのモックを明示的に設定すると動作します:

これは非常に手作業になり、React Native API と頻繁にやり取りするコードのテストにはあまり役に立たないようです。私は間違いなくまだ何かが足りないと感じています!

0 投票する
0 に答える
86 参照

jestjs - Jest モジュールの検索パス

/node_modulesと同様にモジュールを検索するように Browserify をセットアップしました/jsが、Jest はこれを好みません。Jest のモジュール検索パスを設定する方法はありますか?

0 投票する
1 に答える
973 参照

unit-testing - イベントで子コンポーネントをテストするjestユニットに反応する

親イベント ハンドラーを呼び出す onclick イベントを持つ子コンポーネントがある場合、これを単体テストする最善の方法は何ですか? 私の場合、ユーザーがボタンをクリックすると、ボタンのテキスト値が変更されます。これは this.props.myEvent で処理されます。

初期値のテスト時に単体テストが機能する

、しかし、ユーザーがボタンをクリックしてボタンの値が特定の値に更新されたときの単体テストを作成するにはどうすればよいですか?

私の場合、ボタンがあります:

ありがとう

0 投票する
1 に答える
565 参照

browserify - Jestでbrowserify-shimグローバルを使用するファイルをテストするには?

script タグを介して Google Maps API v3 をダウンロードしています。次の (関連する) package.json構成を使用して、モジュールに依存関係を追加しています。

そして、次のようにしてファイルに依存関係を追加できます。

ブラウザでコードを実行すると、正常に動作します。問題は、Jest でテストを実行すると、「google」モジュールが見つからないというメッセージが表示されることです。

ノート:

この依存関係は、テスト自体ではなく、テストしているファイルで必要です。特に指定がない限り、Jest はすべての依存関係をモックすると思っていたので、これは紛らわしいと思いますが、私が見る限り、モックする前に依存関係を正しく満たす必要があります。

私が欠けているもの、またはどのようなアプローチをとるべきかについてのアイデアはありますか?