テスト・ファースト(NUnit)


今回は,テストファーストをやってみたいと思う.

環境

VisualStudio2005 C#
NUnit-2.4.8-net-2.0.msi
TestDriven.Net


ダウンロード場所

NUnit Download ←クリック
私の環境に合わせた方がいいと思うが,エラーが出なければいいので,お好きなバージョンを選んでもいいです.

TestDriven.Net 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
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。