今回は,テストファーストをやってみたいと思う.
環境
VisualStudio2005 C#
NUnit-2.4.8-net-2.0.msi
TestDriven.Net
ダウンロード場所
NUnit Download
←クリック
私の環境に合わせた方がいいと思うが,エラーが出なければいいので,お好きなバージョンを選んでもいいです.
インストール方法
画像を順番に表示していきます.
手順1
実行ボタンをクリックする.
手順2
Nextボタンをクリックする.
手順3
チェックボックスにチェックして,Nextボタンをクリックする.
手順4
何も選択せずに,Nextボタンをクリックする.
手順5
Installボタンをクリックする.
手順6
Finishボタンをクリックする.
手順1
Nextボタンをクリックする.
手順2
ラジオボックスの上にチェックをして,Nextボタンをクリックする.
手順3
Completeを選択する.
手順4
Installボタンをクリックする.
手順5
Finishボタンをクリックする.
プログラムをするための準備
まず,C#でコンソールアプリケーションを作ります.プロジェクト名はCalcApplicationとしてください.
次に画像の手順に従ってください.
手順1
手順2
作成したクラスライブラリのプロジェクトに参照を追加します.
手順3
まず,参照を選んで追加をクリックします.
手順4
次に,nunit.frameworkの参照を追加します.
手順5
もう一つ参照を追加します.最初に作成したコンソールアプリケーションのプロジェクトです.
プログラム
テスト・ファーストの基本はレッド→グリーン→リファクタリングの順番で行う.
まず最初に,CalcApplicationのプロジェクトにCalcクラスを追加してください.次に,TestFirstのプロジェクトにTestCalcクラスを追加してください.
テスト・ファーストではテストコードから作成します.ソースの通りに記述してください.
TestCalc.cs
using System;
using CalcApplication;
using NUnit.Framework;
namespace TestFirst
{
[TestFixture]
public class TestCalc
{
[SetUp]
protected void SetUp()
{
}
// 足し算テスト
[Test]
public void TestAdd()
{
Calc calc = new Calc();
Assert.AreEqual( calc.Add( 2, 3 ), 5 );
}
}
}
ここまで,ソースコードが記述できたらビルドを行ってください.おそらくcalc.Addの定義がありませんとエラーが発生するでしょう.
エラーを取り除かなければテストを行うことができません.なので,このエラーを解決します.
CalcクラスにAdd関数を追加します.
注)Calcクラスにpublicを忘れないでください.
Calc.cs
namespace CalcApplication
{
// 四則演算クラス
public class Calc
{
// 足し算
public int Add( int v1, int v2 )
{
return 0;
}
}
}
では,またビルドしてください.今度はエラーがなにも発生しませんでしたね.
それでは,一旦テストを実行したいと思います.
テスト実行の方法
TestDriven.Netを使っているので手間が省けて楽ですよ~.
TestCalcクラスに戻ってください.
そして,TestFixtureの上にマウスを持ってゆき,右クリックをします.
メニューが表示されるので,その中のRun Test(s)を選んで左クリックしてください.
すると,テストが実行されます.
画像
画像
テストは失敗に終わります.これが,レッドの状態です.続いて,グリーンの状態に持っていきます.
※Failedに1が付いています.これが,失敗であることを示している.
テストを成功させる
テストを成功させるためには,CalcクラスのAdd関数を修正します.
以下のように内容を修正してください.大したことはありませんね.
public int Add( int v1, int v2 )
{
return 5;
}
修正が完了したら,再びテストを実行します.
画像
今度はテストが成功しましたね.
現在がグリーンの状態にあるのでこれをリファクタリングします.
リファクタリング
再び,CalcクラスのAdd関数を修正します.
public int Add( int v1, int v2 )
{
return v1 + v2;
}
これで,テストを実行します.テストが何事もなく終われば出来上がりです.
お疲れ様と言いたいところですが,これと同じ要領で引き算,掛け算,割り算を作成してみてください.
英語の名前が分からない方は,
引き算:Subtract
掛け算:Multipty
割り算:Divide
で書くといいでしょう.
作成できた方はお疲れ様です.
こんな感じで簡単にテスト・ファーストが行えるので,今後も是非使っていただけると嬉しいです.
それでは,また.
最終更新:2009年05月31日 15:38