在测试方法中,使用Assert断言方法对实际值和预期值进行对比,最常用的是预期值和实际值是否相等的断言。
Assert.AreEqual(6, Count);
还可以通过给方法添加ExpectedException属性来断言预期的异常:
[ExpectedException(typeof(ArgumentNullException))]
(2) 系统方法
单元测试运行时,用户可能需要统一初始一些变量或者测试结束统一释放占用资源,而不必在每个测试方法中初始化和资源回收。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() { }
文章来源于领测软件测试网 https://www.ltesting.net/