Windows ストア アプリの単体テストの実行

このトピックでは、Microsoft Visual Studio Express 2012 for Windows 8 でテスト エクスプローラーを使用して単体テストを実行する方法について説明します。VS Express for Windows 8 では、Visual Studio の単体テスト フレームワークを使用してマネージ コードとネイティブ C++ コードの単体テストを作成できます。

注意

このセクションのトピックでは、Visual Studio 2012 Express for Windows 8 の機能について説明します。Visual Studio Ultimate、VS Premium、および VS Professional には、単体テストの追加機能が備わっています。

  • VS Ultimate、VS Premium、および VS Professional では、Microsoft テスト エクスプローラーのアドオン アダプターを作成したサードパーティまたはオープン ソースの単体テスト フレームワークを使用できます。また、テストのコード カバレッジ情報を分析して表示することもできます。

  • VS Ultimate では、ビルドの後に毎回テストを実行できます。Microsoft Fakes を使用することもできます。これは、システムおよびサードパーティの機能をテスト コードに置き換えることにより、自分のコードにテストの重点を置くことができる、マネージ コードの分離フレームワークです。

詳細については、MSDN ライブラリの「単体テストを使用したコードの検証」を参照してください。

このトピックの内容

単体テスト フレームワークとテスト プロジェクト

テスト エクスプローラーでのテストの実行

  • テストの実行

テスト結果の表示

  • テストの詳細の表示

  • テスト メソッドのソース コードの表示

テスト一覧の整理

  • テストのグループ化

  • テスト一覧の検索およびフィルター処理

単体テストのデバッグ

単体テスト フレームワークとテスト プロジェクト

Visual Studio 2012 Express for Windows Store Apps には、マネージ コードとネイティブ C++ コード用の Microsoft 単体テスト フレームワークが含まれています。テスト エクスプローラーは、ソリューション内の複数のテスト プロジェクトと、実行コード プロジェクトの一部であるテスト クラスからテストを実行できます。テスト プロジェクトには、Visual C++ または Visual C# と Visual Basic の単体テスト フレームワークを自由に組み合わせることができます。テスト対象のコードを .NET Framework 用に記述する場合、対象コードの言語にかかわらず、テスト プロジェクトをどの .NET Framework 言語でも記述できます。ネイティブ C/C++ コード プロジェクトは、C++ の単体テスト フレームワークを使用してテストする必要があります。

テスト エクスプローラーでのテストの実行

テスト プロジェクトをビルドすると、テストはテスト エクスプローラーに表示されます。テスト エクスプローラーが表示されない場合は、Visual Studio のメニューの [テスト] をポイントし、[Windows][テスト エクスプローラー] の順に選択します。

単体テスト エクスプローラー

テストを実行して、記述し、再実行すると、テスト エクスプローラーに [失敗したテスト][成功したテスト][Skipped Tests] (スキップされたテスト)、および [Not Run Tests] (実行されなかったテスト) の既定のグループの結果が表示されます。テスト エクスプローラーでテストをグループ化する方法を変更できます。

テスト エクスプローラーのツール バーからテスト検索、整理、および実行の作業の多くを実行できます。

テスト エクスプローラー ツールバーからテストを実行

JJ159320.collapse_all(ja-jp,VS.110).gifテストの実行

ソリューションのすべてのテスト、グループのすべてのテスト、または選択した一連のテストを実行できます。以下のいずれかを実行します。

  • ソリューションのすべてのテストを実行するには、[すべて実行] を選択します。

  • 既定のグループのすべてのテストを実行するには、[実行] を選択し、メニューのグループを選択します。

  • 実行する個々のテストを選択し、選択したテストのショートカット メニューを開いて、[選択したテストの実行] を選択します。

テストの実行中、テスト エクスプローラーのウィンドウの一番上にある成功/失敗ステータス バーがアニメーション化されます。テストの実行の終了時に、すべてのテストが成功した場合は、成功/失敗ステータス バーが緑色に変わり、いずれかのテストが失敗した場合は、赤色に変わります。

テスト結果の表示

テストを実行して、記述し、再実行すると、テスト エクスプローラーに [失敗したテスト][成功したテスト][Skipped Tests] (スキップされたテスト)、および [Not Run Tests] (実行されなかったテスト) の各グループの結果が表示されます。テスト エクスプローラーの下部の詳細ペインに、テストの実行の概要が表示されます。

JJ159320.collapse_all(ja-jp,VS.110).gifテストの詳細の表示

個別のテストの詳細を表示するには、そのテストを選択します。

テストの詳細ペインには次の情報が表示されます。

  • テスト メソッドのソース ファイル名と行番号。

  • テストのステータス。

  • テスト メソッドの実行に要した経過時間。

テストが失敗した場合、詳細ペインには次の情報も表示されます。

  • テストの単体テスト フレームワークによって返されるメッセージ。

  • テストが失敗した時刻のスタック トレース。

JJ159320.collapse_all(ja-jp,VS.110).gifテスト メソッドのソース コードの表示

Visual Studio エディターのテスト メソッドのソース コードを表示するには、テストを選択し、ショートカット メニューの [テストを開く] を選択します (キーボードの F12 キー)。

テスト一覧の整理

JJ159320.collapse_all(ja-jp,VS.110).gifテストのグループ化

既定では、テスト エクスプローラーに [失敗したテスト][成功したテスト][Skipped Tests] (スキップされたテスト)、および**[Not Run Tests]** (実行されなかったテスト) の子ノードとしてテストが表示されます。

テスト エクスプローラー グループ ボタン

これらのテストの実行に要する時間によってテストをグループ化するには、[グループ化] ボックスの一覧を開き、[期間]をクリックします。元のグループに切り替えるには、[テスト成果] を選択します。

JJ159320.collapse_all(ja-jp,VS.110).gifテスト一覧の検索およびフィルター処理

多数のテストがある場合、テスト エクスプローラーの検索ボックスに入力し、指定した文字列によって一覧をフィルター処理できます。検索文字列を入力する前に、フィルターの一覧から選択して、フィルターを特定の種類の文字列に制限できます。

フィルターの検索カテゴリ

単体テストのデバッグ

テスト エクスプローラーを使用して、テストのデバッグ セッションを開始できます。Visual Studio Debugger を使用してコードをシームレスにステップ実行すると、テスト対象のプロジェクトと単体テストとの間を切り替えることができます。デバッグを開始するには:

  1. Visual Studio エディターで、デバッグする 1 つ以上のテスト メソッドにブレークポイントを設定します。

    注意

    テスト メソッドを任意の順序で実行できるため、デバッグするすべてのテスト メソッドにブレークポイントを設定します。

  2. テスト エクスプローラーでテスト メソッドを選択し、ショートカット メニューの [選択したテストのデバッグ] を選択します。

デバッガーの詳細については、「Visual Studio でのデバッグ」を参照してください。