用NUnit2.1簡(jiǎn)單實(shí)現(xiàn).net的測(cè)試驅(qū)動(dòng)開(kāi)發(fā)(TDD)
下面的例子很簡(jiǎn)單,是實(shí)現(xiàn)兩個(gè)整數(shù)的四則運(yùn)算,TDD提倡測(cè)試優(yōu)先,即先寫(xiě)測(cè)試用例,再寫(xiě)運(yùn)行代碼,剛下了個(gè)NUnit2.1,迫不及待的試了試……
1初的測(cè)試用例
using System;
using NUnit.Framework;
namespace netshop
{
/// <summary>
/// 四則運(yùn)算TestCls測(cè)試用例
/// Edit by spgoal
/// </summary>
[TestFixture]
public class TestCase
{
public TestCase()
{
}
private TestCls tc;
[SetUp]
public void setup()
{
tc=new TestCls();
}
[Test]
public void testAdd()
{
Assert.AreEqual(10,tc.Add(5,5));
Assert.AreEqual(7,tc.Add(3,4));
}
[Test]
public void testSub()
{
Assert.AreEqual(1,tc.Sub(5,4));
}
[Test]
public void testMul()
{
Assert.AreEqual(10,tc.Mul(2,5));
}
[Test]
public void testDiv()
{
Assert.AreEqual(2,tc.Div(10,5));
}
}
}
2 編譯這個(gè)測(cè)試用例,理所當(dāng)然的是通不過(guò)的,因?yàn)門(mén)estCls類(lèi)未建立,于是建立該類(lèi),不必多說(shuō),看代碼:
using System;
namespace netshop
{
/// <summary>
/// 四則運(yùn)算的簡(jiǎn)單例子
/// </summary>
public class TestCls
{
public TestCls()
{
}
//加法
public int Add(int a,int b)
{
return 0;
}
//減法
public int Sub(int a,int b)
{
return 0;
}
//乘法
public int Mul(int a,int b)
{
return 0;
}
//除法
public double Div(int a,int b)
{
return 0;
}
}
}
這時(shí)編譯通過(guò),但由于里面的方法沒(méi)實(shí)現(xiàn),所以所有測(cè)試用例都失敗。
(加載測(cè)試用例的方法是:先運(yùn)行Nunit-Gui V2.1程序,然后在菜單file—open—選擇測(cè)試用例所在工程目錄的bin目錄下的dll文件。)