NUnit属性

 

TestFixtureAttribute
   本属性标记一个类包含测试.做为一个测试的类,这个类还有一些限制:
 1.必须是Public,否则NUnit看不到它的存在.
 2.它必须有一个缺省的构造函数,否则是NUnit不会构造它.
 3.构造函数应该没有任何副作用,因为NUnit在运行时经常会构造这个类多次,如果要是构造函数                要什么

副作用的话,那不是乱了.

TestAttribute
    Test属性用来标记一个类(已经标记为TestFixture)的某个方法是可以测试的.
 1.测试方法必须为Public.
 2.测试方法必须没有参数.
 3.测试方法不返回任何参数.

SetUp/TearDown 属性
 用于在测试开始时初始化,和测试后清除.标记为SetUp/TearDown 属性方法必须为public。

ExpectedException属性
这里是一个验证这个假设的测试.在这个属性里,你可以在执行过程中捕获你期望的异常类型.如果这个方法在没有抛出期望异常的

情况下完成了,这个测试失败.使用这个属性帮助我们写程序员测试验证边界条件(Boundary Conditions).


Ignore 属性
   由于种种原因,有一些测试我们不想运行.当然,这些原因可能包括你认为这个测试还没有完成,这个测试正在重构之中,这个测试

的需求不是太明确.但你有不想破坏测试,不然进度条可是红色的哟.怎么办?使用Ignore属性.你可以保持测试,但又不运行它们.

TestFixtureSetUp/TestFixtureTearDown属性
   有时,一组测试需要的资源太昂贵.例如,数据库连接可能是一个关键资源,在一个test fixture的每个测试中,打开/关闭数据库

连接可能非常慢.这就是我在开始提到的问题.如何解决?NUnit有一对类似于前面讨论的SetUp/TearDown的属性:

TestFixtureSetUp/TestFixtureTearDown.正如他们名字表明的一样,这些属性用来标记为整个test fixture初始化/释放资源方法

一次的方法.
   例如,如果你想为所有test fixture的测试共享相同的数据库连接对象,我们可以写一个打开数据库连接的方法,标记为

TestFixtureSetUp属性,编写另外一个关闭数据库连接的方法,标记为TestFixtureTearDown属性.

Explicit属性
本属性忽略一个test和test fixture,直到它们显式的选择执行。如果test和test fixture在执行的过程中被发现,就忽略他们。

所以,这样一来进度条显示为黄色,因为有test或test fixture忽略了。


Category属性
 对于测试来说,你有的时候需要将之分类,此属性正好就是用来解决这个问题的。

测试生命周期
  FixtureSetUp
   SetUp
     Test Method1
   TearDown
   SetUp
     Test Method2
   TearDown
FixtureTearDown


NUnit详细使用方法 :http://confach.cnblogs.com/archive/2005/06/20/177817.html

posted @ 2006-08-11 16:50  H J   阅读(435)  评论(0编辑  收藏  举报