SIN@SAPPOROWORKSの覚書

C#を中心に、夜な夜な試行錯誤したコードの記録です。

C#+NUnitで行うTDD(体験版)

このドキュメントは、C#NUnitでTDDの初めの一歩を体験するためのものです。
TDDの本質やリズムを説明できるものではありませんが、手順をひととおり体験することで、TDDを始めるにあたって必要な環境が完成すること目的としています。

1 インストール

本ドキュメントの作業を行うためには、VisualC#及びNUnitがインストールされている必要があります。既にインストールされている場合は、次節に進んで下さい。

(1) Visual C# Expressのインストール

「Express」は、評価目的のため無償で提供されているエディションです。
2013.04.28現在、「Visual C# 2010 Express」及び「Visual Studio 2012 Express」がダウンロード可能になっています。
(参考)Visual Studio 2012 Express for Windows Desktopのインストール

(2) NUnitのインストール

2013.04.28現在の最新バージョンは、2.6.2です。

2 テストされるプロジェクトとテストするプロジェクトの作成

(1) テストされるプロジェクトの作成
テストされるプロジェクトには特に制約はありません。ただし、publicで無いクラスもテスト対象とするならば、InternalsVisibleTo属性を使用して外部のテストプロジェクトから参照できるようにする必要があります。

(2) テストするプロジェクトの作成

テストするプロジェクトは、「クラスライブラリ」テンプレート(DLL)で作成します。
まずはテスト対象を参照設定し、併せてNUnitの機能が利用できるように「nunit.framework」を参照に追加します。

3 テストコードの作成とNUnitの起動

(1) テストコードの作成
最初にテストを作成し(テストファースト)、不足しているメソッドを自動生成します。
コンパイルが通ったら作業完了です。

(2) NUnitの起動
NUnitGUIインターフェース)を起動して、テストプロジェクトを読み込みます。

4 RedからBlueへのサイクル

(1) テスト失敗・実装・テスト成功
最初にテストを失敗(RED)させ、実装することでテストを成功(BLUE)に変化させます。


「テスト作成」「テスト失敗」「実装」「テスト成功」
このサイクルを繰り返すことでテストファーストの開発が進みます。