技术开发 频道

新.Net开发必备十大工具详解之NUnit

   我们现在要对Add方法编写单元测试,在开始之前,需要添加对nunit.framework的引用,如下图所示:




   NUnit中用到的Attribute都定义在该程序集中,在CalculatorTest中引入命名空间:

   using NUnit.Framework;

   编写测试类,在NUnit中每个测试类必须加上TestFixture特性,如下代码所示:
 

[TestFixture]
public class CalculatorTest
{

}


   现在来编写TestAdd测试函数,NUnit中每个测试函数需要加上Test特性,如下代码所示,这里我们添加了两个断言,一是假定创建的对象不为空,二测试Add方法是否返回我们预期的结果:
 

[Test]
public void TestAdd()
{
Calculator cal = new Calculator();
Assert.IsNotNull(cal);

int expectedResult = 5;
int actualResult = cal.Add(2,3);
Assert.AreEqual(expectedResult, actualResult);
}


OK,至此一个完整的测试用例编写完成,我们使用NUnit可视化工具打开该程序集后,点击Run按钮,效果如下图所示:
 


   全是绿灯表示我们的测试通过,现在再修改一下Calculator类,我们在编写代码时一时大意把Add的实现写成了如下代码:
 

public class Calculator
{
public int Add(int a, int b)
{
return a - b;
}
}


   编译并重新运行测试,运行结果如下图所示:



   红灯表示测试失败,并且在提示信息框中,我们可以看到提示信息为:期望的结果是5,而实际的结果是-1。

1
相关文章