方法 : ASP.NET 単体テストを作成する

更新 : 2007 年 11 月

ASP.NET 単体テストを使用すると、ASP.NET プロジェクトの一部であるメソッドをテストできます。ASP.NET 単体テストは、次の 2 つの方法で作成できます。

  • ASP.NET プロジェクトから ASP.NET 単体テストを生成する。これは最も一般的なシナリオです。

  • 既存の単体テストを ASP.NET 単体テストとして設定する。

実行構成の中で、ASP.NET 単体テストによって使用される属性に対応する設定を指定することもできます。これらの手順については次の各セクションで解説します。

ms182526.alert_note(ja-jp,VS.90).gifメモ :

ASP.NET 単体テストを実行する際は、ASP.NET 単体テストを含むクラス内のメソッドで ClassCleanupAttribute 属性または ClassInitializeAttribute 属性を使用しないでください。同様に、ASP.NET 単体テストと同じアセンブリ内で AssemblyCleanupAttribute 属性または AssemblyInitializeAttribute 属性を使用しないでください。このような状況でこれらの属性を使用した場合の結果は未定義です。ただし、TestInitializeAttribute 属性および TestCleanupAttribute 属性は任意の単体テストで使用できます。

セットアップ スクリプトおよびクリーンアップ スクリプトは、テストの実行に含まれているテストの種類にかかわらず、それぞれテストの実行前と実行後に実行されます。テストの実行と共に実行されるスクリプトの詳細については、「テスト配置の概要」および「方法 : テスト実行構成を指定する」を参照してください。

ASP.NET 単体テストの生成

ASP.NET 単体テストを生成するには、最初に Visual Studio ソリューション内に ASP.NET Web サイトを作成します。次に、クラスを Web サイト プロジェクトに追加し、最後にそのクラスから単体テストを生成します。

ASP.NET 単体テストを生成するには

  1. ASP.NET 単体テストを生成するには、最初に、ASP.NET Web サイトを作成します。これを行うには、ソリューションを右クリックし、[追加] をポイントし、[新しい Web サイト] をクリックします。

  2. [新しい Web サイトの追加] ダイアログ ボックスで、[ASP.NET Web サイト] をクリックします。

  3. [場所] の [ファイル システム] をクリックして、[ASP.NET 開発サーバー] を指定します。

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

    これで新しい Web サイトが作成できました。

  5. クラスをこのプロジェクトに追加します。これを行うには、ソリューション エクスプローラで Web サイトを右クリックし、[新しい項目の追加] をクリックします。

  6. [新しい項目の追加] ダイアログ ボックスの [クラス] をクリックし、[追加] をクリックします。

  7. [Microsoft Visual Studio] ダイアログ ボックスが表示され、新しいクラスを App_Code フォルダに配置するかどうかを確認するメッセージが表示されます。[はい] をクリックします。

    ms182526.alert_note(ja-jp,VS.90).gifメモ :

    .aspx ファイルのコード、または App_Code フォルダ以外のフォルダのコードからテストを生成することはできません。

  8. ASP.NET 単体テストを生成します。新しいクラス ファイルをまだ開いていない場合は、ソリューション エクスプローラでそのファイルをダブルクリックして開きます。

  9. クラス ファイルでクラスを右クリックし、[単体テストの作成] をクリックします。

  10. [単体テストの作成] ダイアログ ボックスが表示されます。このダイアログ ボックスを使用して単体テストを生成する方法については、「方法 : 単体テストを生成する」を参照してください。

  11. テストを生成するクラス、メソッド、または名前空間が選択されていることを確認します。

  12. (省略可能) 既定の [出力プロジェクト] を受け入れるか、新しいプロジェクトを選択します。

  13. 作業が終了したら、[OK] をクリックします。

    新しい ASP.NET 単体テストがテスト プロジェクトのファイルに追加されます。

    単体テストを表示するには、テスト ファイルを開き、最後までスクロールします。単体テストを ASP.NET 単体テストとして実行するために必要な属性が自動的に指定されています。これらの属性の詳細については、次の「ASP.NET 単体テストの構成」を参照してください。

ASP.NET 単体テストの構成

既存の単体テストを ASP.NET 単体テストにするには、そのテストを構成します。具体的には、テストの特定のカスタム属性に値を割り当てます。これらの値は、単体テストを含んでいるコード ファイルで設定します。

カスタム属性を設定する前に、まずカスタム属性をサポートする名前空間 (Microsoft.VisualStudio.TestTools.UnitTesting.Web 名前空間) への参照を追加します。この参照が用意されると、IntelliSense を使用して属性値を設定できます。

注意   ASP.NET 単体テストを生成すると、これらの属性は自動的に設定されます。

ASP.NET 単体テストを構成するには

  1. 単体テストを含んでいるコード ファイルを開きます。

  2. 単体テストに対して次の属性を設定します。

[TestMethod]

すべての単体テストでは [TestMethod] 属性が必要であるため、この属性は既に用意されています。

[UrlToTest()]

これは、この単体テストを実行するときにテストされる URL です。たとえば、[UrlToTest(“https://localhost/WebSites/Default.aspx”)] と指定します。

[HostType()]

[HostType(“ASP.NET”)] を使用します。テストは通常 VSTest ホスト プロセスで実行しますが、ASP.NET 単体テストは ASP.NET ホスト プロセスで実行する必要があります。

サンプル

例 1。ASP.NET 開発サーバーで Web サイトを実行している場合、ASP.NET 単体テストに対して設定する属性および値は次のとおりです。

[TestMethod()]

[HostType("ASP.NET")]

[UrlToTest("https://localhost:25153/WebSite1")]

[AspNetDevelopmentServerHost("D:\\Documents and Settings\\user name\\My Documents\\Visual Studio 2005\\WebSites\\WebSite1", "/WebSite1")]

例 2。IIS で実行中の Web サイトをテストするには、TestMethod、HostType、および UrlToTest の各属性のみを使用します。

[TestMethod()]

[HostType("ASP.NET")]

[UrlToTest("https://localhost:25153/WebSite1")]

実行構成を使用した ASP.NET 単体テストの構成

実行構成の中で、ASP.NET 単体テストによって使用される属性に対応する設定を指定できます。実行構成でこれらの属性を指定した後で、任意の ASP.NET 単体テストを実行するときにその実行構成がアクティブであれば、その設定が適用されます。

ms182526.alert_note(ja-jp,VS.90).gifメモ :

ASP.NET 単体テストの設定である実行構成設定と属性設定のうち、一度に有効にできるのはいずれか 1 組のみです。2 つを混ぜて使用することはできません。実行構成設定が存在すると、属性よりも優先されます。つまり、実行設定で ASP.NET 設定を 1 つ指定するだけで、属性として指定した ASP.NET 設定は無視されます。

実行構成を使用して ASP.NET 単体テストを構成するには

  1. 実行構成ファイルを開きます。詳細については、「方法 : テスト実行構成を指定する」を参照してください。

  2. [ホスト] ページの [ホストの種類] に [ASP.NET] を設定します。

    この操作によって、追加の選択肢が表示されます。その一部は、[テストする URL] のように、コードで指定できる属性に対応しています。これらの属性については、前述の「ASP.NET 単体テストの構成」で説明しています。

    [ホスト] ページですべての値を設定したら、[名前を付けて保存] をクリックし、[保存] をクリックし、[はい] をクリックします。

参照

処理手順

方法 : テスト実行構成を指定する

方法 : テスト実行構成を適用する

概念

ASP.NET 単体テストの概要

その他の技術情報

方法 : 単体テストを生成する