public class TestCalculator
{
private int result;
private Calculator calculator;
[SetUp] ////初始化,NUnit將在執(zhí)行每個(gè)測(cè)試前執(zhí)行標(biāo)記SetUp屬性標(biāo)記的方法,有多少個(gè)測(cè)試用例(標(biāo)記為T(mén)est的方法),就會(huì)執(zhí)行多少次
public void init()
{
calculator = new Calculator();
Console.WriteLine("run init ...."); // 測(cè)試每個(gè)測(cè)試用例方法執(zhí)行前都會(huì)執(zhí)行SetUp標(biāo)記的方法
}
[TestFixtureSetUp] //初始整個(gè)類(lèi),最先執(zhí)行,如數(shù)據(jù)庫(kù)連接的建立,只執(zhí)行一次
public void InitTestClass()
{
Console.WriteLine("初始化整個(gè)測(cè)試類(lèi).... ");
}
[Test]
public void TestAdd()
{
this.result = calculator.Add(10, 2);
Console.WriteLine("Just test Console.out ...."); // 在NUnit底部的Console.out標(biāo)簽里會(huì)輸出這行文字
Assert.AreEqual(12, this.result);
}
[Test]
public void TestSub()
{
this.result = calculator.Sub(10,2);
Assert.AreEqual(8, this.result);
}
[Test]
[Ignore] //Ignore忽略屬性.你可以保持測(cè)試,但又不運(yùn)行它們.如果Ignore屬性附加到TestFixture,所有在fixture的測(cè)試都被 忽略
public void TestSub2()
{
this.result = calculator.Sub(10, 3);
Assert.AreEqual(7, this.result);
}
[Test]
[Explicit] //與Ignore相似,但與Ignore又不同,標(biāo)記為Ignore的測(cè)試用例,怎么著都不會(huì)執(zhí)行,而Explicit用例可以指定讓其執(zhí)行或不執(zhí)行
public void TestSub3()
{
this.result = calculator.Sub(10, 3);
Assert.AreEqual(7, this.result);
}
[Test]
[Category("Mul")]
public void TestMul()
{
this.result = calculator.Mul(10, 2);
Assert.AreEqual(20, this.result);
}
[Test]
[Category("Div")] //把這個(gè)測(cè)試用例分類(lèi)為Div
public void TestDiv()
{
this.result = calculator.Div(10, 2);
Assert.AreEqual(5, this.result);
}
[Test]
[ExpectedException] //ExpectedException 在執(zhí)行過(guò)程中捕獲你期望的異常類(lèi)型
[Category("Div")] //把這個(gè)測(cè)試用例分類(lèi)為Div
public void TestDiv2()
{
this.result = calculator.Div(10, 0);
Assert.AreEqual(5, this.result);
}
[TearDown] // 銷(xiāo)毀或回收資源,如流的讀取,數(shù)據(jù)庫(kù)連接等。每個(gè)測(cè)試方法執(zhí)行完畢后都會(huì)調(diào)用該方法,有多少個(gè)測(cè)試用例(標(biāo)記為T(mén)est的方法),就會(huì)執(zhí)行多少次
public void CollectGarbage()
{
Console.WriteLine("回收資源 .....");
}
[TestFixtureTearDown] // 回收整個(gè)測(cè)試類(lèi)的資源,如斷開(kāi)數(shù)據(jù)庫(kù)的連接,只執(zhí)行一次
public void CollectTestClassGarbage()
{
Console.WriteLine("回收測(cè)試類(lèi)的資源.....");
}
}
浙公網(wǎng)安備 33010602011771號(hào)