特集:効率的なデータベース開発の実践DBアクセス用のXML Webサービスとは?初音玲2009/02/06 |
|
|
●XML Webサービスの単体テストの実行
Visual Studio 2008のProfessional Edition以上のエディションには、テスト・プロジェクトを作成して単体テストを行う機能が備わっている(Standard EditionでもNUnitなどを導入することで、単体テストを作成することは可能。Visual Studio 2005ではTeam SuiteやTeam Test Editionでしかテスト・プロジェクトを作成できないが、そのほかのエディションでもNUnitを活用して単体テスト可能だ)。
次に先ほど作成したXML Webサービスの動作を検証する単体テストを作成してみよう。
(1)ソリューションへのテスト・プロジェクトの追加
先ほどのXML Webサービスのソリューションに対してテスト・プロジェクトを追加するソリューションをIDEで開いている状態で、メニュー・バーから[ファイル]−[追加]−[新しいプロジェクト]を実行して、[新しいプロジェクトの追加]ダイアログを表示する。
図7 [新しいプロジェクトの追加]ダイアログにおけるテスト・プロジェクトの追加 |
[プロジェクトの種類]で「テスト」を選択し、[テンプレート]として「テスト プロジェクト」を選択する。[プロジェクト名]は、「<テスト対象のプロジェクト名>+Test」と付けると分かりやすいだろう(本稿の例では「SimpleServiceTest」とした)。保存する[場所]は、必ずXML Webサービスのルート・フォルダとは別の位置を指定する(Webサービスの中には単体テストを含めないため)。
最後に[OK]ボタンをクリックしてプロジェクトを作成すると、[ソリューション エクスプローラ]の内容は次の画面のようになる。
図8 テスト・プロジェクトが追加されたソリューション([ソリューション エクスプローラ]ウィンドウ) | |||||||||
テスト・プロジェクトを追加すると、[ソリューション エクスプローラ]ウィンドウはこのようになる。 | |||||||||
|
テスト・プロジェクトを追加した直後には、そのプロジェクト内に「ManualTest1.mht」というファイルが存在するが、これは手動テスト用のひな型ファイルであり、今回は不要なので削除する。プロジェクト内の「UnitTest1.vb」ファイルが、単体テストを記述するためのもので、本稿ではこれを編集していく。
(2)Web参照の追加
XML Webサービスをテストするには、そのWebサービスを参照するように設定しなければならない。
これには[ソリューション エクスプローラ]でテスト・プロジェクトを右クリックしてコンテキスト・メニューを表示して[Web 参照の追加]をクリックする。
これにより[Web 参照の追加]ダイアログが表示されるので、中央の[Web サービスの参照の開始]というHTML表示内の[このソリューションの Web サービス]というリンクをクリックして、その後は下の図9のように指定する。
(3)テスト・コードの実装
UnitTest1.vbファイルの中身は普通のクラス・ファイルと同じだ。テスト・コードはTestMethod属性を付与したメソッド(Public Sub TestMethod1)に記述する。次のコードの太字部分が今回実装したテスト・コードである。
|
|
単体テスト・コードの記述(UnitTest1.vbファイル) | |
「localhost」は先ほどの[Web 参照名]として指定したものである。「Service」はWebサービスの名前で、「HelloWorld」はそれに含まれるWebメソッドだ。このように、SOAP形式のXML Webサービスは、クライアントで通常のメソッドと同じように呼び出せる。 |
ここでは、localhost名前空間のServiceクラスのインスタンス(webs)を生成して、Assert.AreEqualメソッドで“Hello World”と「Webメソッドの戻り値」(=webs.HelloWorld())を比較し、同じ値ならば成功を記録し、異なる値ならば失敗を記録している。
これで単体テストの作成が完了したので、テストを実施してみよう。
(4)テストを実施する
これには、ソリューションのスタートアップをテスト・プロジェクトに切り替えて(具体的には、[ソリューション エクスプローラ]でテスト・プロジェクトを右クリックして表示されるコンテキスト・メニューから[スタートアップ プロジェクトに設定]をクリックして)、メニュー・バーの[デバッグ]−[デバッグ開始](もしくは[デバッグなしで開始])を実行すればよい。
テスト結果は、下の図10のように、[テスト結果]ウィンドウに成功なら緑色のアイコン、失敗なら赤色のアイコンで、一目瞭然(りょうぜん)に一覧表示される。
図10 [テスト結果]ウィンドウにおけるテスト結果の一覧表示(上:成功した場合、下:失敗した場合) |
以上がXML Webサービスの開発方法、単体テスト方法の基礎だ。以降では、この基礎を踏まえ、DBにアクセスして、最適化された結果を返すXML Webサービス(のWebメソッド)を作成していこう。
INDEX | ||
[特集]効率的なデータベース開発の実践 | ||
DBアクセス用のXML Webサービスとは? | ||
1.DBアクセス用のXML Webサービス | ||
2.XML Webサービスの作成 | ||
3.XML Webサービスの単体テストの実行 | ||
4.XML WebサービスのWebメソッドへのパラメータの考察 | ||
5.DBアクセスXML Webサービスを作成する | ||
6.DBアクセスXML Webサービスを使ってみる | ||
- 第2回 簡潔なコーディングのために (2017/7/26)
ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている - 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう - 第1回 明瞭なコーディングのために (2017/7/19)
C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える - Presentation Translator (2017/7/18)
Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
|
|
- - PR -