BT

InfoQ ホームページ ニュース モックの代替としてのサービスの仮想化

モックの代替としてのサービスの仮想化

ブックマーク

原文(投稿日:2013/04/22)へのリンク

 

依存関係の注入を介したモックは、しばしば厄介な仕事だ。最も単純なアプリケーションでさえ、しばしば新しいインターフェイスの作成し、IoC Containerに依存することになる。そして一般的に多くの不必要な複雑さを追加する。その後に、まだモック自体を記述しなければならない。その多くは、単純な単体テスト以外には役に立たない。

Products such as CA Lisa Service Virtualization のような製品は、別のアプローチを提供する。個々のクラスをモックするのではなく、これらのテストツールを使用すると、ネットワークレベルでサービス全体のモックを作成することができる。アプリケーションの観点から、それは実際のサービスのバックエンドとやり取りする。現実には、そのバックエンドは例えまだ存在していなくてもである。

仮想化されたサービスを設定するのに2つの一般的な方法がある。最初のは契約で始まり(例えば、WSDLまたは他のプロトコル固有の記述子)、そしてあらかじめ決めた応答を作成する。これは、通常のJavaまたは.NETのコードを使用して手動で行うことができ、または、市販の製品を使用することができる。この方法の利点は、コンポーネントを書いているチームは、サービスの本物のバージョンが完成するのを待つ必要がないことである。欠点は、本物のバージョンは、偽物に実際に一致する必要があることだ。タイムラインが長くなるにつれ、この偽物は疑わしいものになる。

他のやり方は、トラフィックの記録を使用することである。ツールを、テスト対象のコンポーネントとそのダウンストリームで依存するものの間に置く。このツールは、基本的に、プロキシとして機能し、コンポーネントがどのようにやり取りするかについての情報を収集する。後でこれらの記録は、コンポーネントとそれが依存するサーバ間のやり取りをシミュレートするのに使用することができる。

両方のやり方は、ほとんどの通信プロトコルで実行可能である。正しいプラグインやフィルタを使用すれば、テスト・ツールは、メッセージキュー、REST、SOAP、生のTCP、またはあらゆる他のやり取り手段を理解することができるはずだ。

 

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

BT

あなたのプロファイルは最新ですか?プロフィールを確認してアップデートしてください。

Eメールを変更すると確認のメールが配信されます。

会社名:
役職:
組織規模:
国:
都道府県:
新しいメールアドレスに確認用のメールを送信します。このポップアップ画面は自動的に閉じられます。