問題タブ [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.
java - 生成されたファイルを使用した Java WireMock 自動テスト
Java EE のマルチモジュール プロジェクトからの要求と対応する応答をキャッチするために、WireMock のスタンドアロン バージョンを実行するだけです。今、私はこれらの(数千の)ファイルをフォルダー__files
とmappings
. 多くのリクエストを含む多くのテストがあるため、関連するマッピングとレスポンスをロードしたいと考えています。これはどのように行われますか?次のような答えしか見つかりませんでした:
すべてのフィールドを手動で変更したくないだけです。ありがとう。
java - wiremock を使用した Rest API のモック: java
これは、サービスをモックするための私のユーティリティ クラスです。
ご覧のとおり、GET 呼び出し/orders
(すべての注文を含む) をモックし、json ファイルに保持されているすべての注文を本文で応答しています。
また、単一の注文を GET call で呼び出しています/orders/1
。ファイル内の JSON オブジェクトで応答しています。しかし、私はそれを動的にしたいと考えています。then でヒットしたときのようにorders/30
、動的に順序を取得しid=30
てレンダリングする必要があります。
java - Jenkins のバックグラウンドでの生成プロセス - キューに留まらないジョブ
サーバー(WireMockのMockServer)を起動するJenkinsでジョブを作成したい。
サーバーは *.jar ファイルから、そのような端末から起動されます。
それは私のコンソールを引き継ぎます。それを避けるために、これを変更して次のことを行います。
そして、それは私のローカルPCで機能します。今、私はそれをジェンキンスに移したいと思っています。
Jenkins Job の「Shell コマンド」ブロックからこれを実行しようとすると、次のようになります。
a)java -jar serverLaunch.jar
- Jenkins のキューにタスクがロックされていますが、それは望ましくありませんが、サーバーが起動して動作します。
b)java -jar serverLaunch.jar &>/dev/null &
- ジョブは正常に終了しますが、サーバーが稼働していません。
このコマンドも .sh スクリプトと .rb スクリプトでラップしました。それを機能させる方法はありますか?
私はこれを試しました: https://wiki.jenkins-ci.org/display/JENKINS/Spawning+processes+from+build
そして、ジェンキンスの「シェルスクリプト」で:
しかし、それも通過しますが、サーバーは稼働していません。
java - RestTemplate は暗黙的にプロキシを使用していますか? どうすればわかりますか?
Wiremock を使用して Java REST クライアントをテストしています。特に、空の応答をどのように処理するかをテストしています。
テスト中のコード:
テスト:
このテストはローカル マシンではパスしますが、ビルド マシンでは失敗し、BadStatusException
ステータス コード 500 がスローされます。
私の最善の推測では、私のローカル マシンでは RestTemplate が Wiremock サーバーに直接接続されていますが、ビルド マシンでは、おそらく環境変数などが原因で、接続はプロキシ経由で行われています。 WireMock によってシミュレートされた障害が発生すると、500 エラーが返されます。
RestTemplate
次のように、Apache HttpClient の使用を強制します。
...問題は解決したようですが、このライブラリに余分な依存関係を持ち込みたくありません(このライブラリの消費者は、好きなように構成された独自のRestTemplateを注入します)。
私の理論はもっともらしいですか?これが起こっていることをどのように確認できますか?RestTemplate を強制的に直接接続するにはどうすればよいですか? 他にどのような説明があり得るでしょうか?
wiremock - ワイヤーモックを使用して到達できないエンドポイントをシミュレートする方法は?
エンドポイントをシミュレートしたいと思います。/notReachable
接続に失敗します。
そのような嘲笑を達成する方法は?
java - --proxy-all パラメーターを WireMock に指定して、記録時に任意の Web サイトに一致させることはできますか?
WireMock を使用して Web からの応答を記録および再生するプロキシ サービスを構築しています。私は最近、これら 2 つのモードが別々であることを発見したので、これらのサービスを並行して実行する Docker コンテナの小さなセットを構築しようとしています。
簡単に言うと、記録用に 1 つの WireMock をセットアップし、再生用に (別のポートに) 別のインスタンスを用意することを計画しています。cron でマッピングを定期的にコピーし、reset API 呼び出しを再生インスタンスに送信して、新しい定義をリロードします。
というわけで、現在レコーダーの製作中です。特定のサイトから記録する簡単な方法は次のとおりです。
ただし、実際には、送信したものをすべて記録したいのに、長時間実行されるインスタンスを www.example.com にロックします。パラメーターなしで使用--proxy-all
すると機能しません (おそらく WireMock 自体によって発行された、HTTP クライアントで 500 エラーが発生します)。
--proxy-all
一方、省略すると 404 が返されます。これは、おそらく WireMock がどこに移動するかを認識していないためです。したがって、次のようなことをしたいと思います:
これがコマンド ラインでサポートされていると言うドキュメントが見当たらないので、管理 API でこれがサポートされているのだろうか 別の方法は、指定したプロキシ URL で WireMock を停止および再起動する独自の API を構築することですが、それが既に実装されている場合は、車輪を再発明したくありません。
別の質問で述べたように、代わりに Mountebank を使用することも選択肢の 1 つかもしれません。このための API があるようです。しかし、それはもっと複雑に見えます。私は WireMock の 90% を達成しているので、できればそれを使い続けたいと思っています。
java - WireMock は相関に対応していますか?
WireMock に相関の概念はありますか?
リクエストからレスポンスに値を転送したい。