2024年4月30日发(作者:)
单元测试框NUnit 之 Attributes
特性 二
单元测试框NUnit 之 Attributes特性(二)
00
14,RepeatAttribute (NUnit 2.5) RepeatAttribute 是用来指定一
个测试用例应该运行几次。如果任何一次失败,以下的次数将不会运行并只报
告一次错误。
15,RequiredAddinAttribute (NUnit 2.5)
RequiredAddin attribute 用来指定一个程序集如果要正确运行所需
要的程序集。如果指定的程序集没有被引用,整个程序将会标记为不可执行的。
在3个试用版本中,这个
特性
可以被应用到类或方法上,但是从下个
版将会限定只用到程序集。
示例: 16,RequiresMTAAttribute (NUnit 2.5)
RequiresMTAAttribute 应用在方法、类或程序集上,指明这段代码要运行在多
线程套间(multi-threaded apartment):如果父测试不是MTA线程中运行,
会创建一个新的MTA线程。
17,RequiresSTAAttribute (NUnit 2.5)
它要求测试运行在单线程套间(Single-threaded apartment)。它也
会创建一个新的STA线程如果父测试不是在STA线程中运行。
18,RequiresThreadAttribute (NUnit 2.5)
它要求应用此
特性
方法、类或程序集应该运行在独立的线程中。你也
可以在构造中加入一个可选的参数用来指明线程的ApartmentState。用此方法,
不管你带参数或不带,都会创建一个新的线程,而RequiresSTAAttribute or
RequiresMTAAttribute只会在当前线程的ApartmentState不适合时才会创建。
// 运行这个程序集的测试都会被创建新的线程
[assembly:RequiresThread] ... // 测试类 [TestFixture, RequiresThread]
public class FixtureOnThread { // 该类中的所有方法都会创建一个独立的
线程 } [TestFixture] public class AnotherFixture { [Test,
RequiresThread] public void TestRequiringThread() { // 这个测试运行要
求一个独立的线程 } [Test, RequiresThread()] public
void TestRequiringSTAThread() { // 一个独立的STA线程将会创建用来运行
这个测试 } }
19,SequentialAttribute (NUnit 2.5) SequentialAttribute应用
一个测试方法,会用参数提供的数据项生成测试用例,每个数据只用一次。如
果一个参数是带多重属性的,数据项的顺序不确定的。但是,对于一个给定的
系统和运行时,这个顺序是不变的。
如: 将会按以下方试运行三次: 20,SetCultureAttribute (NUnit
2.4.2) 这个属性会改变当前测试的区域信息,可被应用到方法和类级别。要注
意的是,这个改变的影响直到整个类或方法执行完毕然后再设定为初始值。如
果只想确定在当前区域信息下是不是执行这个测试,请用Culture attribute。
只能确定一个区域信息,在多个区域信息中运行测试将在未来的版本
中增加。不过,通过构建你的测试代码到一个私有方法,然后在各个不同区域
的测试方法中调用,仍然可以达到相同的目的。
21,SetUICultureAttribute (NUnit 2.5.2)
SetUICulture attribute是用来设定UI的区域信息的,用法参照上
面的SetCultureAttribute。
22,SetUpAttribute (NUnit 2.0 / 2.5)
这个
特性
应用在测试类内部提供一些在每一个测试方法调用之前都会
执行的功能。在Nunit2.5之前,要求只能有一个SetUp标记的方法并且要求是
一个实例方法。从2.5开始,可以是实例或静态的,并且可以有多个:多个


发布评论