問題タブ [wiremock]
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.
hystrix - アップグレード時の Wiremock Hystrix 障害
ルールを使用して、wiremock を使用したいくつかのテストがあります。
これは古いアプリで、wiremock バージョン 1.7 を使用しています。2.4.1 にアップグレードしたので、一部のテストが失敗します。実際の HTTP クエリは Hystrix を介して実行されるため、問題になる可能性があります。
json - WireMock (JSON/XML ではない) でボディ マッチングを要求する
スタンドアロンのワイヤーモックで API モックを作成しようとしています。応答本文は、要求本文の属性に依存します。
JSON を使用すると、それが可能になりました。サンプル マッピングは次のとおりです。
ただし、私の主な要件は google protobuf を処理することであり、モッカーが応答のために API をモックするために使用する代わりにテキスト形式を使用しようとしています。したがって、リクエスト ファイルはテキスト形式であり、二重引用符や各行の末尾のコンマなどの JSON 検証はありません。
JSON パスを使用すると、wiremock が不適切な形式のためにリクエスト本文と一致しないことがわかりました。たとえば、次のようなリクエストです。
それ以外の
key1
=value1
が一致して返さresponse1.json
れる必要がある、またはkey1
=someOtherValue
の場合は返される必要があるとしresponse2.json
ましょう。はい、キーは型の一部であり、型は動物の一部です。このリクエストボディの一致を達成するにはどうすればよいですか?
java - WireMock は複数のドメインからのリクエストを再生できますか?
私はウェブサイトを記録するのに役立つDocker化された記録再生システムを構築しているので、本物ではなくローカルバージョンに対してスクレイパーを設計できます. これは、自動化されたリクエストで Web サイトを圧倒しないことを意味し、作業のために Web に接続する必要がないという追加の利点があります。
私は Java ベースの WireMock を内部で使用しました。これは、Wget を使用してサイト スクレイピングのキューから記録します。WireMock APIを使用して、記録されたマッピングからさまざまな情報を読み取ります。
ただし、マッピング応答から、ドメイン情報が記録されていないように見えることがわかりました (誤って応答ヘッダーにある場合を除く)。からの次の応答を参照してください__admin/mappings
。
URL の唯一の明確な記録は に対する最終エントリにあります。コンソール呼び出しで URLproxyBaseUrl
を指定する必要があったことを考えると、別のドメインに対して記録すると、それぞれのドメインが失われるのではないかと心配しています。 .
つまり、再生モードでは、WireMock は 1 つのドメインからしか再生できず、別のサイトを再生するには、WireMock を再起動して別のキャッシュを指す必要があります。これは私のユースケースではうまくいかないので、この問題を回避する方法はありますか?
(私はMountebankで少し作業を行いましたが、WireMock の方が一般的に使いやすいと思いますが、喜んでそれに切り替えます。Mountebank についての私の限られた理解は、それが同じ単一ドメインの問題に苦しんでいるということです。 WireMock をドロップすることが前進する唯一の方法である場合は、堅牢なオープンソース API 駆動型レコーダ HTTP プロキシに喜んで交換します)。
java - ワイヤーモックでより大きいか小さいかをチェックします
金額を確認し、それに応じて応答を返す必要がある状況があります。
金額が >=100 の場合、応答は異なります。それ以外の場合、金額が 100 未満の場合、エラー応答を送信する必要があります。
リクエストボディのサンプルjsonを参照してください。
{ "accountName":"ABCZYZ", "specialCode":"MYCODE", "amount":"100", "currencyType":"MYCURRENCY" }
以下は私のwiremockマッピングファイルです
{ "request": { "urlPattern": "/some/url", "method": "POST", "bodyPatterns": [ { "matchesJsonPath" : " $[?(@.amount < 100)] " } ] }、
"response": { "status": 200, "body": "MY_REPONSE_IN_JSON_FORMAT" } }
上記の一致パターンに関して問題に直面しています。
誰かが私を助けてくれませんか?
ありがとうM
spring-boot - Wiremock 2.5.1 および Spring Boot 1.5.1 での ClassNotFoundException
Spring Boot 1.5.1.RELEASE および Wiremock 2.5.1 でテスト インフラストラクチャを構成しようとすると問題が発生します。それは投げています:
別のプロジェクトで Wiremock 2.4.1 と Spring Boot 1.3.0.M5 を使用しましたが、この問題は一度もありませんでした。
私のテストクラス:
Spring Boot のバージョン 1.3.0.M5 以降、一部のテスト アノテーションが変更されていることに気付きました。これが問題である可能性があると思います。誰かが同じ問題を抱えていましたか?
ありがとう、