問題タブ [nock]

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 投票する
1 に答える
306 参照

javascript - JSテストの絶対パスでリクエストをモックする方法は?

あるコンポーネントで、xhr リクエストを「/api/somecall」に送信しました

MochaJS を使用してテスト目的で HTTP リクエストをモックしようとしています。

nock に入りましたが、最初のパラメーターはドメインです。複数のドメインで同じアプリを使用しているため、これを修正できません。

私は location.href で DOM をモックして、xhr がこのように Mocha のテスト セッションの開始時にヘルパーで特定のドメインに送信されるようにしました (このコードの一部を Web で見つけました)。

残念ながら、後でこれを試してもうまくいきません:

以前と同様に、すべてのテストでリクエストのタイムアウトが返されます。

どうすればそれを機能させることができますか?

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

node.js - コール関数へのノック応答の取得に関する問題

http呼び出しをインターセプトするためにnockを使い始めました。以下は、必要なモジュールをインポートした後、単体テスト ケースで使用しているコードです。

callFunction は、パラメーター「actionFunction」、「mockData」を別のクラスに送信します。このクラスでは、actionFucntion が mockData を受け取り、スーパーエージェント モジュールを使用して ajax リクエストを作成します。

問題は、nock が http 呼び出しをインターセプトできたにもかかわらず、nock モック応答 ({id:10}) がコールバック関数に到達していないことです。このレスポンスをコールバック関数で表示したい

これを行う方法はありますか?

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

node.js - Nock は Redux テストで API 呼び出しをインターセプトしていません

Redux アプリで API 呼び出しをテストしようとしています。コードは、redux ドキュメントのAsync Action Creatorsセクションで概説されているパターンにほぼ従っています。

http://redux.js.org/docs/recipes/WritingTests.html

その要点は、redux-mock-storeを使用して、トリガーされたアクションを記録およびアサートすることです。

これは、nock を使用して API 呼び出しをモックするテスト全体です。

しかし、テストの実行時に実際の lastFm api が呼び出されるようです...偽のノック応答ではなく、実際のデータが lastFm から返されます。

これはアクション クリエータ自体です。

expectedActionsライブの lastFM 応答が、オブジェクトごとに期待している応答と同じではないため、アサーションは失敗します。

nock を変数に割り当ててログアウトしようとしました。ログには次のように表示されます。

Nock は URL にポート 80 を追加しているようですが、これが原因で実際​​の API がモックされていないかどうかは不明です。

ここで何が問題なのですか?

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

redux - Redux / Mocha / Nock でのサーバー呼び出しのテスト

私はテストに慣れていないので、これが私がテストする「想定」されているものであるかどうかさえわかりませんが、次のようになります。

非同期アクション作成者のテストを作成する方法については、 https://github.com/reactjs/redux/blob/master/docs/recipes/WritingTests.mdの例に従っています。ここに私がテストしているコードがあります:

私のテスト フレームワークは、nock と configureMockStore を備えた mocha/chai です。/api/representative への呼び出しを nock でモックしたいのですが、方法がわかりません。

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

node.js - nock 'no match' イベント コールバック引数

nock が「一致しない」イベントを発行すると、1 つの引数で応答する場合もあれば、3 つの引数で応答する場合もあります。それらが何であるかわかりません。各引数のキーは次のとおりです。

コールバックが 1 つの引数で呼び出された場合:

qs、ヘッダー、パス、プロトコル、メソッド、ホスト名、ポート、socketTimeout、エージェント、clientName、transportName、maxRedirects、proto、host

コールバックが 3 つの引数で呼び出された場合:

ドメイン、_events、_maxListeners、出力、outputEncodings、書き込み可能、​​_last、chunkedEncoding、shouldKeepAlive、useChunkedEncodingByDefault、sendDate、_headerSent、_header、_hasBody、_trailer、終了、_hangupClose、ソケット、接続、_headers、_headerNames、_removedHeader、パス、書き込み、終了、中止、オン、1 回、メトリック、timeoutCb、パイプ

dnslookup、socketTimeout、再試行、マークダウンしきい値、ポート、プロトコル、ホスト名、ベースパス、トランスポート、メソッド、インストルメント、ヘッダー、SVC_CHANNEL_STATUS、デバッグ、パス、checkServerIdentity、moduleRef、clientId、clientName、qs、agent、transportName、maxRedirects、proto、ホスト、getHeader

'' (空文字列)

これは、キー リストを生成するために使用したコードです。

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

node.js - nock スコープの pendingMocks をリセットする

nock スコープに対して複数のアサーションを実行し、beforeEach でリクエストをモックしようとしていますが、scope.pendingMocks()すべてをクリーンアップした後でもリクエストが表示されます。

複数のリクエストを使用して同じホストにモックを設定し、各テストでリクエストを新たにアサートする最良の方法は何ですか?