首页 > 代码库 > 单元测试中Assert类
单元测试中Assert类
一、Assert类的使用
1、Assert类所在的命名空间为Microsoft.VisualStudio.TestTools.UnitTesting 在工程文件中只要引用Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll就可以使用了。
2、使用Assert类可以对特定功能进行验证,单元测试方法执行开发代码中的方法代码,但只有包含Assert语句时才能报告代码行为方面的内容。
3、Assert在测试方法中,可以调用任意数量的Assert类方法,如Assert.AreEqual()方法。Assert类有很多方法可供选择,其中许多方法具有多个重载。
4、使用CollectionAssert类可比较对象集合,也可以验证一个或多个集合的状态。
5、使用StringAssert类可以对字符串进行比较。此类包含各种有用的方法。如:StringAssert.Contains、StringAssert.Matches和StringAssert.StartWith。
6、AssertFailedException只要测试失败,就会引发AssertFailedException异常。如果测试超时,引发意外的异常,或包含生成了Failed结果的Assert语句,则测试失败。
7、AssertInconclusiveException只要测试生成的结果是Inconclusive,就会引发AssertInconclusiveException。通常,向仍在处理的测试添加Assert.Inconclusive来指明该测试尚未准备好,不能运行。
二、Assert类主要的静态成员
using Microsoft.VisualStudio.TestTools.UnitTesting; using System; using System.Text; using System.Collections.Generic; namespace Temp_Test { /// <summary> ///这是 TempDll.TempDll 的测试类,旨在 ///包含所有 TempDll.TempDll 单元测试 ///</summary> [TestClass()] public class TempDllTest { private TestContext testContextInstance; /// <summary> ///获取或设置测试上下文,上下文提供 ///有关当前测试运行及其功能的信息。 ///</summary> public TestContext TestContext { get { return testContextInstance; } set { testContextInstance = value; } } /// <summary> ///测试方法入口处 ///</summary> [TestMethod()] public void Test() { System.IO.FileInfo file = null; System.IO.FileInfo file1 = file; System.IO.DirectoryInfo dir = null; string tempTrue = "T"; string tempFalse = "F"; Assert.AreEqual(tempTrue, tempFalse);//两个对想不相同,测试失败 Assert.AreNotSame(file1, tempTrue);//两个引入的对象是同一个,测试失败" Assert.AreSame(file1, file);//两个引入的对象是不相同的 Assert.Fail();//不管是什么,直接宣布测试失败 Assert.Inconclusive();//同Fail差不多,但不是失败,只是测试不能通过 Assert.IsFalse(true);//如果是真,表示测试失败 Assert.IsTrue(false);//如果为假,请示测试失败 Assert.IsInstanceOfType(true,tempTrue.GetType());//类型不相同,测试失败 Assert.IsNull(tempFalse); //不是空所以测试失败 } }}
单元测试中Assert类