はじめに
今回は,Silverlightで単体テストを行うためのテスティングフレームワークとその使い方を紹介します。テスティングフレームワークとはjUnitやNUnitなどに代表されるテストプログラムを書くためのフレームワークです。前編の今回は,導入と環境の構築,そして簡単なAPIのテストを説明します。
Silverlightのテスティングフレームワーク
.NETでのテスティングフレームワークはオープンソースで開発されているNUnitやVisual Studio 2008以上のエディションで提供されている単体テスト機能がよく利用されています。Silverlightのテスティングフレームワークはこの連載の第4回でも少しふれましたが,公開されているコントロールのソースコードの中にアセンブリの形で配置されています。コントロールのソースコードは以下のリンクよりダウンロードできます。
ダウンロードしたファイルをインストールしてできたフォルダの中のControls/Binの下にある以下のファイルがテスティングフレームワークのアセンブリになります。
- Microsoft.Silverlight.Testing.dll
- Microsoft.Silverlight.Testing.Framework.dll
- Microsoft.VisualStudio.QualityTools.UnitTesting.Silverlight.dll
コントロールに付属のテストコードもVisual Studioより簡単に起動できますので,ぜひ一度動かしてみてください。以下はコントロールのテストの実行中のスナップショットです。
右側に実行中のテストとその結果,左側にテストされている画面が表示されています。
環境の構築
では,開発環境の構築を行います。若干,手作業が伴いますのでひとつづつ順番に説明していきます。
まず,最初に先述したテスティングフレームワークの3つのアセンブリを以下のフォルダにコピーします。
%programfiles%\Microsoft SDKs\Silverlight\v2.0\Libraries\Client
続いてJeff Wilcox氏のブログよりVisual Studioでこのテスティングフレームワークを使う場合のプロジェクトとC#のテンプレートをダウンロードします。氏のブログではテンプレートを用いない方法も紹介されていますが,本連載では簡便さからテンプレートをしようします。
ダウンロードしたファイルをそれぞれ以下の場所に保存します。このときダウンロードしたファイルの解凍は必要ありません。
SilverlightTestProject.zip
%userprofile%\Documents\Visual Studio 2008\Templates\ProjectTemplates
SilverlightTestClass.zip
%userprofile%\Documents\Visual Studio 2008\Templates\ItemTemplates
以上で配置は完了です。これで次回Visual Stuioを開いたときにプロジェクトのテンプレートとしてSilverlightのテストプロジェクトを選択できるようになっています。
では,プロジェクトの作成に移りましょう。
プロジェクトを作成する
まず,最初はテストされるSilverlightプロジェクトと,そのSilverlightをホストするためのWebアプリケーションを作成します。このステップは特に変わった手順はありません。詳しい作成方法はこの連載の第5回を参照してください。ここでは画面ショットと,そこでの設定だけを示します。
| プロジェクト名 | SLUnitTest |
|---|---|
| ソリューション名 | SLUnitTest |
| ソリューションのディレクトリを作成 | チェック |
| コントロールをホストするための新しいWebをソリューションに追加する | チェック |
|---|---|
| プロジェクトの種類 | Webアプリケーションプロジェクト |
| 名前 | SLUnitTest_Web |

