BT

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

| 作者: Jonathan Allen フォローする 608 人のフォロワー , 翻訳者 編集部N フォローする 0 人のフォロワー 投稿日 2013年4月26日. 推定読書時間: 1 分 |

原文(投稿日: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

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

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

このスレッドのメッセージについてEmailでリプライする

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

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT