Rainbow Engine

IT技術を分かりやすく簡潔にまとめることによる学習の効率化、また日常の気付きを記録に残すことを目指します。

ASP.NET

ASP.NETの既存プロジェクトに単体テストプロジェクトを追加する手順

投稿日:2021年4月7日 更新日:

<目次>
(1) ASP.NETの既存プロジェクトに単体テストプロジェクトを追加する手順
 (1-1) 新規プロジェクトを作成
 (1-2) 参照の追加
 (1-3) 単体テスト用のコードの記述
 (1-4) 単体テストの実行

(1) ASP.NETの既存プロジェクトに単体テストプロジェクトを追加する手順

今回はASP.NET MVCの既存のプロジェクトに対して「単体テスト用のプロジェクト」を後から追加する手順をご紹介いたします。
⇒※新規にASP.NET MVCプロジェクト作成する場合は手順が異なり、別途「新規PJに単体テストPJを追加する手順」でご紹介しています。

(1-1) 新規プロジェクトを作成

①ソリューションを右クリック⇒追加⇒新しいプロジェクトを選択
(図111)①

②テンプレートの選択
検索窓から「単体テスト」等で検索してC#用の「単体テスト プロジェクト」を選択します。
(図111)②

③プロジェクト名の入力
プロジェクト名を入力しますが、デフォルトでは「[プロジェクト名].Tests」になるため、例ではそれに倣って「MVCTest.Tests」としています。
(図111)③

目次にもどる

(1-2) 参照の追加

参照の追加とは、ライブラリ(dll等)や実行ファイル(exe)を自身のプロジェクトにて利用できるように取り入れる事です。

例えば、Windows用のプロジェクトを作る際には、事前に用意されている「System.Windows.Forms」といったライブラリを使用して開発をしますが、これらのライブラリの実態はMicrosoft社により事前にコンパイルされたdllであり、Visual Studioとセットで配布されているものです。参照の追加はこれらの追加を手動で行う操作の事です。

①先程作成したテスト用プロジェクトを「右クリック」⇒「追加」⇒「参照」と選択します。
(図121)①

②「参照マネージャー」の左ペインより「プロジェクト」を選択し、テストを実行する対象のプロジェクトにチェックを入れます。
(図121)②

(参考)
もし参照をせずにテストを実行しようとした場合、参照がないためビルドエラーが発生します。

(図121)③

目次にもどる

(1-3) 単体テスト用のコードの記述

次に作成したプロジェクト内の「.cs」ファイルに単体テスト用のコードを追記していきます。下記は、コントローラのインスタンスを生成し、そのIndexメソッド(画面描画メソッド)を呼んで、結果が空かどうか?を✔するテストです。

(例)

public void TestMethod1()
{
    //# ご自身のControllerのインスタンスを生成
    HomeController controller = new HomeController();
    //# Indexメソッドの結果をViewResultクラスに格納
    ViewResult result = controller.Index() as ViewResult;
    //# 指定したオブジェクトがnullでないかチェック
    Assert.IsNotNull(result);
}

(図131)⓪

(補足)

・ViewResultクラスについて

ViewResultクラスは、アクションの結果をビュースクリプト(.cshtml)で描画するためのクラスで、Controllerで定義するアクションメソッドの戻り値である「ActionResult」クラスの派生クラスとなっています。Index()メソッドの結果はActionResult型ですが、Viewを返却しているので「as ViewResult」で「ViewResult」型にキャストしています。

また、ViewResultクラスを使用するために「Microsoft.AspNet.Mvc」のインストールが必要なため、もし無い場合はインストールします。

赤い波線にカーソルを当てると「パッケージ[XXXX]をインストールする」といったオプションが表示されるので、必要に応じて利用します。

(図131)①

・Assert.IsNotNull
Assertクラスはテストの結果を検証するための各種メソッドを擁するクラスで、IsNotNullはその中でも指定したオブジェクトがnullかどうか?をチェックするメソッドです(Nullの場合は例外を返す)
 

(1-4) 単体テストの実行

単体テストの実行については別記事(下記URL)にてご紹介しています。
 
①単体テストの実行
上段メニューより「テスト」⇒「すべてのテストを実行」と選択すると、単体テストが実行されます。

(図141)

②結果確認
「テストエクスプローラー」という画面が起動し、テスト結果が表示されます。

(図142)

Adsense審査用広告コード


Adsense審査用広告コード


-ASP.NET

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

ASP.NETのActionResultの戻り値の種類について

  <目次> (1) ASP.NETのActionResultの戻り値の種類について  (1-1) はじめに  (1-2) ASP.NETのActionResultの戻り値の種類  (1-3 …

ASP.NET MVCでformをSubmitする方法

<目次> (1) ASP.NET MVCでformをSubmitする方法  (1-1) 概要  (1-2) HTMLを使ってformをsubmitする方法  (1-3) サンプルプログラム  (1-4 …

Visual Studioのプロジェクトを別ソリューションに移動する手順

  <目次> (1) Visual Studioのプロジェクトを別ソリューションに移動する手順  (1-1) プロジェクトを別ソリューションに移動する手順  (1-2) 参考①:「.cspr …

ASP.NET MVCのRouteConfigを追加する方法を2つご紹介

  <目次> (1) ASP.NET MVCのRouteConfigを追加する方法を2つご紹介  (1-1) やりたい事の整理  (1-2) 方法1:通常のルーティング  (1-3) 方法2 …

ASP.NET MVCにおけるSessionオブジェクトについて

<目次> (1) ASP.NET MVCにおけるSessionオブジェクトについて  (1-1) Session(セッション)とは?   (1-1-1) セッションの開始と終了  (1-2) Sess …

  • English (United States)
  • 日本語
Top