作者:shinoy
时间:2011/11/10 版权所有,侵权必究。
出处:http://blog.csdn.net/snowshinoy
时间:2011/11/10 版权所有,侵权必究。
出处:http://blog.csdn.net/snowshinoy
本节示例代码下载:示例代码
上一次讲座中我们初步了解了NUnit的用法,并定义了一些简单的测试(请参考http://blog.csdn.net/snowshinoy/article/details/6951352)。大家可能也注意到了,这些测试什么也不做,就是直接让测试通过或者失败。今天,我们会了解一下NUnit中最常用的一项功能——测试集管理。大家都知道,当我们的测试Case越来越多的时候,每次选择其中一些相关Case来跑会显得相当的不便,其他人也不能一眼看出我们的测试是如何分类的。通过NUnit提供的一些属性,我们可以很轻松的完成这种测试分类及分组运行的要求。
一、TestFixture 和 Test属性
NUnit的很多功能都是通过属性来提供的。属性是.NET语言中一个很重要的特性,从代码上看,属性就是一个加在元素前面的中括号标识。如下
[Ignore("ignored test")]
public void IgnoredTest()
{
throw new Exception();
}
上面代码中的第一行就是一个属性定义。从原理上说,属性是在.NET组件文件的Metadata中添加的一些可以被其他组件读取的信息。大家如果不理解,就把他想象成HTML的标签就可以。
NUnit根据测试组件的命名空间及TestFixture和Test属性来分类不同的测试。
TestFixture属性定义了一组测试,该属性加在测试类定义上,表明该类中定义的测试都是属于同一个测试集的。
Test属性定义了一个测试,该属性加在测试类成员函数定义上,表明该函数定义了一个单独的测试。