前一章我们简单介绍了NUnit的入门示例《一步一步学NUnit(一)》,让大家对NUnit有个简单的认识。
NUnit的使用是非常简单的,但是它在项目中使用时,有许多佳实践。这章我们把上一章没有讲到的NUnit的一些配置和特性介绍一下。
要想熟练地使用NUnit还是要在实践中使用和体会,单纯地学习知识点是没有用的。
好,不再废话了。继续上一章的内容。
在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()方法没有任何关系,也是说单元测试中,所有的测试方法都是独立的。各个方法之间没有依赖性,删除任何一个单元测试方法,对其它的测试不会有任何影响。
上一章中,我们已经介绍了[TestFixture]和[Test],现在我们为这个类新增一个方法。
[SetUp]
public void InitMethod()
{
Console.WriteLine("Initialization method");
}
重新生成项目,再运行NUnit,选中"CalculatorTest"进行单元测试:
切换到NUnit的"Console.Out"中,我们看到"Initialization method"出现了4次,如果只选中一个测试方法:
我们看到,这时只出现一次的"Initialization method"。[SetUp]的意思是指在运行每个测试方法前执行它。相应的,有开始必然有结束,[TearDown]是指在每个测试方法结束后运行。