気づけばVisual Studio Expressも2013が登場している。2012以降はユニットテストフレームワークを搭載しており、ツール等をインストールしなくてもテストコードを書いて、実行することができる。
しかし、C#について言えば従来NUnitが主流となっており使用していた人も多いことだろう。よって、Visual Studio Express 2013 for Windows DesktopにてNUnitを使用するための環境を構築する方法をまとめる。先に述べておくと、Visual Studio(Expressではない)では統合開発環境にNUnitをパッケージとして組み込むことができるようであるが、Expressでは不可能であった。従って、Visual Studio Express 2010までと同様にテストの実行、結果の表示はNUnit(別ツール)にて行うこととなる。
インストール
基本的なインストール手順は従来と変わらない。下記URLよりNUnitのインストーラを取得する。(.msiが良いだろう)
ダウンロードが完了後、インスローラを起動する。インストール範囲を尋ねられるが「Typical」を選択しておけば問題ない。
テスト対象、テストコードの作成
それぞれ作成する。今回は下記の通り作成した。
プロジェクトはテスト対象用「Computer」とテストコード用「ComputerTest」の2プロジェクトを作成した。
テスト用のプロジェクトには「テスト対象」「NUnitのフレームワーク」「NUnitのモック」を参照に追加することを忘れない。
中身のソースは下記の通り。
PC.cs
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Computer { /// <summary> /// 電源状態 /// </summary> public enum PowerStatus{ OFF, ON, } public class PC { // 電源状態 private PowerStatus power; public PowerStatus Power { get { return this.power; } } /// <summary> /// コンストラクタ /// </summary> public PC() { this.power = PowerStatus.OFF; } /// <summary> /// 起動する /// </summary> public void StartUp() { this.power = PowerStatus.ON; } } }
PCTest.cs
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using NUnit.Framework; using Computer; namespace ComputerTest { [TestFixture] class PCTest { /// <summary> /// テスト対象 /// </summary> private PC pc_; [SetUp] public void SetUp() { // テスト対象を生成する this.pc_ = new PC(); } [TearDown] public void TearDown() { } [Test] public void 起動前テスト() { // 結果を判定する Assert.AreEqual(PowerStatus.OFF, this.pc_.Power); } [Test] public void 起動テスト() { // 起動する this.pc_.StartUp(); // 結果を判定する Assert.AreEqual(PowerStatus.ON, this.pc_.Power); } } }
テストの実行
テストはNUnit.exeにて実行する。 Visual Studio Expressのソリューションを読み込ませるために、一部設定を変更する必要がある。
メニューバーの「Tools→Settings」をクリック
サイドメニューにて「VisualStudio」をクリックし、「Enable Visual Studio Support」にチェックを入れる。
メニューバーより「File→Open Project」をクリックし、テストコードが含まれるプロジェクトを開く。
メイン画面の「Run」ボタンをクリックするとテストが実行される。 見事、グリーンバーである。
次回予告
今回、NUnitの実行までは確認できた。しかし、テストダブルという面でモックの使用方法も確認する予定だ。これについては次回とする。