問題タブ [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.
javascript - Jestでモックデートを設定するにはどうすればよいですか?
Moment.js を使用して、React コンポーネントのヘルパー ファイルで日付ロジックのほとんどを実行していますが、Jest a la で日付をモックする方法を理解できませんでしたsinon.useFakeTimers()
。
Jest のドキュメントではsetTimeout
、setInterval
などのタイマー関数についてのみ説明していますが、日付を設定してから、日付関数が意図したとおりに機能することを確認することはできません。
これが私のJSファイルの一部です:
Jestを使用して設定したものは次のとおりです。
私は瞬間を使用しており、関数は瞬間を使用しているため、これらのテストは成功しましたが、少し不安定なようで、テストのために日付を固定時間に設定したいと思います。
それをどのように達成できるかについてのアイデアはありますか?
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 と頻繁にやり取りするコードのテストにはあまり役に立たないようです。私は間違いなくまだ何かが足りないと感じています!
jestjs - Jest モジュールの検索パス
/node_modules
と同様にモジュールを検索するように Browserify をセットアップしました/js
が、Jest はこれを好みません。Jest のモジュール検索パスを設定する方法はありますか?
unit-testing - イベントで子コンポーネントをテストするjestユニットに反応する
親イベント ハンドラーを呼び出す onclick イベントを持つ子コンポーネントがある場合、これを単体テストする最善の方法は何ですか? 私の場合、ユーザーがボタンをクリックすると、ボタンのテキスト値が変更されます。これは this.props.myEvent で処理されます。
初期値のテスト時に単体テストが機能する
、しかし、ユーザーがボタンをクリックしてボタンの値が特定の値に更新されたときの単体テストを作成するにはどうすればよいですか?
私の場合、ボタンがあります:
ありがとう
browserify - Jestでbrowserify-shimグローバルを使用するファイルをテストするには?
script タグを介して Google Maps API v3 をダウンロードしています。次の (関連する) package.json構成を使用して、モジュールに依存関係を追加しています。
そして、次のようにしてファイルに依存関係を追加できます。
ブラウザでコードを実行すると、正常に動作します。問題は、Jest でテストを実行すると、「google」モジュールが見つからないというメッセージが表示されることです。
ノート:
この依存関係は、テスト自体ではなく、テストしているファイルで必要です。特に指定がない限り、Jest はすべての依存関係をモックすると思っていたので、これは紛らわしいと思いますが、私が見る限り、モックする前に依存関係を正しく満たす必要があります。
私が欠けているもの、またはどのようなアプローチをとるべきかについてのアイデアはありますか?