.NET2005下单元测试中Assert类的用法。

    技术2022-05-11  56

    首先说介绍一下,Assert类所在的命名空间为Microsoft.VisualStudio.TestTools.UnitTesting 在工程文件中只要引用Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll就可以使用了, 在这里我会举例说明Assert里面的一些主要的静态成员。 1、             AreEqual:方法被重载了N多次,主要功能是判断两个 值是否相等;如果两个值不相等,则测试失败。 2、             AreNotEqual:方法被重载了N多次,主要功能是判断两个 值是否不相等;如果两个值相等,则测试失败。 3、             AreNotSame: 引用的对象是否不相同;如果两个输入内容引用相同的对象,则测试失败. 4、             AreSame :引用的对象是否相同;如果两个输入内容引用不相同的对象,则测试失败. 5、             Fail :断言失败。 6、             Inconclusive :表示无法证明为 true 或 false 的测试结果 7、             IsFalse :指定的条件是否为 false;如果该条件为 true,则测试失败。 8、             IsTrue: 指定的条件是否为 true;如果该条件为 false,则测试失败 9、             IsInstanceofType: 测试指定的对象是否为所需类型的实例;如果所需的实例不在该对象的继承层次结构中,则测试失败 10、        IsNotInstanceofType: 测试指定的对象是否为所需类型的实例;如果所需的实例在该对象的继承层次结构中,则测试失败 11、        IsNull: 测试指定的对象是否为非空 12、        IsNotNull: 测试指定的对象是否为非空 具个例子来说明上面所写的。(先创一个测试工程)     usi      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,"不是空所以测试失败");                   }    }}       

    Test方法里面的注释语句,可以一个一个试试,一定要注意.NET平台左下面出现的提示是什么样的。

     例图


    最新回复(0)