ダウンロード CsTdd08.zip (125.1 KB)
2.ユニバーサルプロジェクトにユニットテストのプロジェクトを追加する
それでは、ユニットテストの対象とするユニバーサルプロジェクトとその他にいくつかのプロジェクトを作成し、それからユニットテストのプロジェクトも作って簡単なユニットテストを書いてみましょう。
ユニバーサルプロジェクトを作る
Visual Studio 2013(Update 2以降)を起動し、新しいプロジェクトを作ります。その際に、ダイアログの左側で[テンプレート]-[Visual C#]-[ストア アプリ]-[ユニバーサル アプリ]を選び、中央で[空のアプリケーション]または[ハブ アプリケーション]を指定します。ユニットテストを試してみるだけなら[空のアプリケーション]でも問題ありません。
空のユニバーサルプロジェクトを作った場合には、生成されたソリューションは次の図のようになります。
ユニバーサルプロジェクトは、このように3つのプロジェクトからなりたっています。そして、Windows用のプロジェクトをビルドするときには、Windows用プロジェクトと共有プロジェクトのソースコードが「マージ」されます(注1)。Phone用のプロジェクトをビルドするときも同様です。共有プロジェクト自体を単独でビルドすることはできません。
正確には、ソースコードのファイルが単純に混ぜ合わされるだけではありません。リソースファイルではファイルの内容がマージされるなど、細かいところで複雑な処理が行われます。しかし通常は、両方のプロジェクトに含まれているファイルが単純にマージされると思っていてよいでしょう。なお、プロジェクト内のディレクトリ構造は維持されたままで、マージされます。
PCLとWinMDのプロジェクトを追加する
ユニバーサルプロジェクトで使えるクラスライブラリー(すなわち、Windowsストアアプリからも、Windows Phoneストアアプリからも利用できるクラスライブラリー)には、次の2種類があります。
- ポータブルクラスライブラリー(PCL)
- Windowsランタイムコンポーネント(WinMD)
主な違いは、WinMDでは公開できるインターフェースに制限があることです。その代わりに、WinMDはバックグラウンドタスクを実装したり、JavaScriptで記述したストアアプリからも呼び出したりできるというメリットがあります。
さきほど作成したユニバーサルプロジェクトのソリューションに、ユニバーサルプロジェクト用のPCLとWinMDのプロジェクトを追加します。また、ユニバーサルプロジェクトのWindows用プロジェクトとWindows Phone用プロジェクトから、追加したプロジェクトに参照設定をしておいてください。
この記事は参考になりましたか?
- C#で始めるテスト駆動開発入門連載記事一覧
-
- 状態を持つクラスをテストファーストする
- ユニバーサルWindowsアプリのユニットテスト(後編)
- ユニバーサルWindowsアプリのユニットテスト(前編)
- この記事の著者
-
biac(ばいあっく)
HONDA R&Dで自動車の設計をやっていた機械屋さんが、技術の進化スピードに魅かれてプログラマーに。以来30年ほど、より良いコードをどうやったら作れるか、模索の人生。わんくま同盟の勉強会(名古屋)で、よく喋ってたりする。2014/10~2019/6 Microsoft MVP (Windows Devel...
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア



