Chinaunix首页 | 论坛 | 博客
  • 博客访问: 588235
  • 博文数量: 208
  • 博客积分: 3286
  • 博客等级: 中校
  • 技术积分: 1780
  • 用 户 组: 普通用户
  • 注册时间: 2007-09-24 20:38
文章分类

全部博文(208)

文章存档

2012年(7)

2011年(28)

2010年(21)

2009年(76)

2008年(65)

2007年(11)

我的朋友

分类:

2010-12-06 08:48:01

每个方法上几乎都带有TestMethod这个属性,我们直觉告诉我们,这肯定是表示被测试函数的意思.事实也正是如此,在Unit Test里,有许多测试属性,常用的如下:

属性 描述

TestClass()

该属性表示一个测试装置。

TestMethod()

该属性表示一个测试用例。

AssemblyInitialize()

在执行为执行选择的第一个 TestClass() 中的第一个 TestMethod() 之前,执行带有该属性的方法。

ClassInitialize()

带有该属性的方法在执行第一个测试之前调用。

TestInitialize()

带有该属性的方法在执行每个 TestMethod() 之前调用。

TestCleanup()

带有该属性的方法在执行每个 TestMethod() 之后调用。

ClassCleanup()

带有该属性的方法在执行 ALL 测试之后调用。

AssemblyCleanup()

在执行为执行选择的第一个 TestClass() 中的第一个 TestMethod() 之后,执行带有该属性的方法。

Description()

提供关于给定 TestMethod() 的描述。

Ignore()

由于某种原因忽略 TestMethod()TestClass()

ExpectedException()

当测试特定异常时,如果使用该属性指定的异常不是从实现代码引发,则测试不会失败。

 

 

 

 

单元测试运行时,用户可能需要统一初始一些变量或者测试结束统一释放占用资源,而不必在每个测试方法中初始化和资源回收。vs单元测试中提供了这样的属性

签。

1.       ClassInitialize

如果方法标识了这个属性。则这个方法在整个测试class运行开始时候运行。可以在这个方法中添加所有测试方法都需要初始化的初始化代码。 

TestContext中包含了单元测试的基本信息。

 

 

1 [ClassInitialize()]
2 public static void MyClassInitialize(TestContext testContext){ }
 
 
2.       ClassCleanup
标识了这个属性的方法会在这个测试class运行结束的时候运行,和上一个标签对应。 

3.       TestInitialize

1 [ClassCleanup()]
2 public static void MyClassCleanup(){ }
 
 
除了在整个测试class的开始和结束运行的方法外,还有针对每个测试方法的开始和结束的方法。有时候需要对测试方法用的实例进行必要的初始化,但是需要保证每个方法用的的实例和其他方法中的实例无关的,则需要在每个方法的开始初始化实例,在结束的时候恢复对实例的修改。
标识TestInitialize的方法会在每个测试方法开始之前运行。
1 [TestInitialize()]
2 public void MyTestInitialize() { }
4.       TestCleanup
标识TestInitialize的方法会在每个测试方法结束之后运行。
1 [TestCleanup()]
2 public void MyTestCleanup() { }
 测试代码完成后,可在测试代码文件中右键菜单中点击运行测试代码,也可以把测试工程设置为项目的启动项,按F5直接运行测试工程,调试测试代码。
阅读(1140) | 评论(0) | 转发(0) |
0

上一篇:emacs /python pymacs

下一篇:Assert

给主人留下些什么吧!~~