深入的了解一下方法上带有的属性的含义. 每个方法上几乎都带有TestMethod这个属性,我们直觉告诉我们,这肯定是表示被测试函数的意思.事实也正是如此,在Unit Test里,有许多测试属性,常用的如下:
属性 | 描述 |
---|---|
TestClass() | 该属性表示一个测试装置。 |
TestMethod() | 该属性表示一个测试用例。 |
AssemblyInitialize() | 在执行为执行选择的第一个 TestClass() 中的第一个 TestMethod() 之前,执行带有该属性的方法。 |
ClassInitialize() | 带有该属性的方法在执行第一个测试之前调用。 |
TestInitialize() | 带有该属性的方法在执行每个 TestMethod() 之前调用。 |
TestCleanup() | 带有该属性的方法在执行每个 TestMethod() 之后调用。 |
ClassCleanup() | 带有该属性的方法在执行 ALL 测试之后调用。 |
AssemblyCleanup() | 在执行为执行选择的第一个 TestClass() 中的第一个 TestMethod() 之后,执行带有该属性的方法。 |
Description() | 提供关于给定 TestMethod() 的描述。 |
Ignore() | 由于某种原因忽略 TestMethod() 或 TestClass()。 |
ExpectedException() | 当测试特定异常时,如果使用该属性指定的异常不是从实现代码引发,则测试不会失败。 |
需要注意的是,上面的属性不是可以适用于所有方法的,比如AssemblyInitialize()和ClassInitialize()是必须是静态方法的属性. 我们可以把初始化的操作放在他们里进行.