私はかなり複雑なJava Webサービスを模倣しなければならず、私は正しい解決策を探しています。それを行う1つの方法は、Soap UIを使用することですが、私はサーバーの状態を変更することができる何かが必要です。 1つのリクエストは将来のリクエストに影響します。Java Webサービスを模擬する最善の方法
この特定のケースでは、シリアライズされたオブジェクトをディスクに保存し、元のクライアントWebサービスに非同期応答を生成することによって迅速に実行できます。
これらの2つの要件によって、私はSoapUIを使用できなくなりました。グルーヴィーロジックはかなり複雑になり、おそらく難しいでしょう。
私の質問:。
1)は、他のSOAPUIの利点は、カスタムJavaモック実装上)WSDLの新バージョンへの移行など簡単に(この文脈ではありますか?
2)wsdlからWebサービスを生成するのに最も適切な方法は何でしょうか。それでもいくつかのカスタム機能、 (更新されたwsdlからのwsコードの再生成をさらに容易にするために)別々のファイルで編集可能ないくつかのフックを付けることによって?
モックはテスト目的のためだけでなく、そのままクライアントの部分を残しておく必要があります。通常のhttp通信が必要で、エンドポイントだけが変更されます。だから私はフレームを嘲笑してこのケースではできないと思う。 – aaimnr
あなたが統合テストを話しているなら、私はあなたのプロダクション環境を可能な限り厳密にミラーリングしようとし、UAT/QAデータベースに対して実際のWebサービスを使用します。 Webサービスがあなたのコントロール下にない場合は、テスト中に使用する「テスト」データの作成を見てください。IMHOはウェブサービスの「モック」/スタブを作成すると、あなたの「モック」/スタブがウェブサービスの動作の前提に基づいているため、セキュリティに対する誤った感覚を与えます。これは単体テストでは問題ありませんが、完全な統合テストでは、実物を使って確実に動作するようにする必要があります。 –
実際には統合テストではなく、トレーニング目的で使用することを検討してください。フロントエンドが使用するWebサービスは、ミラーリングするのが難しい(機密データがたくさんある)ので、軽量なモックを作成する方が簡単ですが、状態を維持するのに十分インテリジェントなので、論理的なトレーニングシナリオの可能性があります。 – aaimnr