URL 内の任意のパラメータの組み合わせを一致させるにはどうすればよいでしょうか? 質問する

URL 内の任意のパラメータの組み合わせを一致させるにはどうすればよいでしょうか? 質問する

このAPI URLへの応答をシミュレートしようとしています

http://api.myapihost.com/images?foo=bar&spam=egg

URL パラメータの組み合わせは異なる場合があります。このリクエストをインターセプトし、空のオブジェクトで応答しようとしています。

nock('http://api.myapihost.com')
  .persist()
  .get('/images', '*')
  .reply(200, {});

テストケースを実行すると、次のエラー メッセージが表示されます。

Uncaught Error: Nock: No match for HTTP request GET /images?height=2500

任意の URL パラメータの組み合わせに一致するように nock を構成するにはどうすればよいでしょうか?

ベストアンサー1

ノックあなたはできる正規表現を指定する

以下は例です (v9.2.3 でテスト済み)。

nock('http://api.myapihost.com')
  .get(/images.*$/)
  .reply(200, {});

.query(true)渡されたクエリ文字列に関係なく URL 全体をモックしたい場合は、を使用したより簡単な構文もあります。

nock('http://api.myapihost.com')
  .get('/images')
  .query(true)
  .reply(200, {});

おすすめ記事