次の方法で共有


方法 : プライベート メソッドをテストする

単体テストを使用して、パブリック メソッドとプライベート メソッドの両方をテストできます。パブリック メソッドと同様、プライベート メソッドの単体テストは、テストを実施するコードからテストを作成するときに自動的に作成されます。

メソッドをテストする単体テストを手動で記述することもできますが、プライベート メソッドの単体テストを手動で記述するタスクは、パブリック メソッドの場合より難しくなります。これは、このタスクによる影響の複雑さをより深く理解している必要があるためです。そのためプライベート メソッドの場合は、手動でコードを記述するよりもテストを生成する方が便利です。

プライベート メソッドの単体テストを生成すると、プライベート アクセサが自動的に作成されます。プライベート アクセサは、テスト メソッドがプライベート コードへのアクセスに使用するメソッドです。単体テストはプライベート アクセサへの呼び出しを生成し、プライベート アクセサを介してプライベート メソッドを呼び出します。プライベート アクセサはテスト プロジェクトの一部であるファイルの中に存在するため、テスト プロジェクトのアセンブリ内にコンパイルされます。

重要

プライベート メソッドのシグネチャが変更になった場合は、そのプライベート メソッドを実行する単体テストも更新する必要があります。詳細については、「方法 : プライベート アクセサを再生成する」を参照してください。

プライベート メソッドの単体テストを生成するには

  1. プライベート メソッドを含むソース コード ファイルを開きます。

  2. プライベート メソッドを右クリックし、[単体テストの作成] を選択します。

    これによって、[単体テストの作成] ダイアログ ボックスが表示されます。表示されているツリー構造では、プライベート メソッドのチェック ボックスのみがオンになっています。

  3. (省略可能) [単体テストの作成] ダイアログ ボックスで、[出力プロジェクト] を変更できます。また [設定] をクリックして、単体テストの生成方法を再構成できます。

  4. [OK] をクリックします。

    これによって、VSCodeGenAccessors という名前の新しいファイルが作成されます。このファイルには、テストされるクラスのプライベート エンティティの値を取得する特別なアクセサ メソッドが含まれています。新しいファイルは、ソリューション エクスプローラのテスト プロジェクト フォルダに表示されます。

    この時点でテスト プロジェクトに単体テストが含まれていない場合は、単体テストを格納するソース コード ファイルも作成されます。プライベート アクセサを含むファイルと同様に、単体テストを含むファイルもソリューション エクスプローラのテスト プロジェクトに表示されます。

  5. 単体テストを含むファイルを開き、プライベート メソッドの場所までテストをスクロールします。// TODO: コメントでマーキングされたステートメントを探し、コメント内で説明された手順に従って完成させます。これにより、より正確なテスト結果を得ることができます。詳細については、「方法 : 単体テストを編集する」を参照してください。

    これでプライベート メソッドの単体テストが実行できます。単体テストの実行については、「方法 : 選択したテストを実行する」 を参照してください。

参照

処理手順

方法 : 単体テストを生成する
方法 : 単体テストを編集する
チュートリアル : 単体テストの作成と実行
方法 : プライベート アクセサを再生成する