前一章我們簡單介紹了NUnit的入門示例《一步一步學NUnit(一)》,讓大家對NUnit有個簡單的認識。
NUnit的使用是非常簡單的,但是它在項目中使用時,有許多佳實踐。這章我們把上一章沒有講到的NUnit的一些配置和特性介紹一下。
要想熟練地使用NUnit還是要在實踐中使用和體會,單純地學習知識點是沒有用的。
好,不再廢話了。繼續(xù)上一章的內(nèi)容。
在Visual Studio 2008 中打開上一章的示例,Calculator類有4個簡單的方法:加、減、乘、除。CalculatorTest類中的四個方法是Calculator類四個方法的單元測試。
[TestFixture]
public class CalculatorTest
...{
[Test]
public void TestAdd()
...{
Calculator cal = new Calculator();
int expected = 5;
int actual = cal.Add(2, 3);
Assert.AreEqual(expected, actual);
}
[Test]
public void TestMinus()
...{
Calculator cal = new Calculator();
int expected = 5;
int actual = cal.Minus(10, 5);
Assert.AreEqual(expected, actual);
}
[Test]
public void TestMultiply()
...{
Calculator cal = new Calculator();
int expected = 5;
int actual = cal.Multiply(1, 5);
Assert.AreEqual(expected, actual);
}
[Test]
public void TestDivide()
...{
Calculator cal = new Calculator();
int expected = 5;
int actual = cal.Divide(25, 5);
Assert.AreEqual(expected, actual);
}
}
這里一定要注意,TestAdd()、TestMinus()、TestMultiply()和TestDivide()方法沒有任何關(guān)系,也是說單元測試中,所有的測試方法都是獨立的。各個方法之間沒有依賴性,刪除任何一個單元測試方法,對其它的測試不會有任何影響。
上一章中,我們已經(jīng)介紹了[TestFixture]和[Test],現(xiàn)在我們?yōu)檫@個類新增一個方法。
[SetUp]
public void InitMethod()
{
Console.WriteLine("Initialization method");
}
重新生成項目,再運行NUnit,選中"CalculatorTest"進行單元測試:
切換到NUnit的"Console.Out"中,我們看到"Initialization method"出現(xiàn)了4次,如果只選中一個測試方法:
我們看到,這時只出現(xiàn)一次的"Initialization method"。[SetUp]的意思是指在運行每個測試方法前執(zhí)行它。相應的,有開始必然有結(jié)束,[TearDown]是指在每個測試方法結(jié)束后運行。