zoukankan      html  css  js  c++  java
  • 单元测试中Assert类的用法

    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:测试指定的对象是否为非空具个例子来说明上面所写的。(先创一个测试工程) 

    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; 
                 } 
             } 
            #region 附加测试属性 
            //  
            //编写测试时,可使用以下附加属性: 
            // 
            //使用 ClassInitialize 在运行类中的第一个测试前先运行代码 
            // 
            //[ClassInitialize()] 
            //public static void MyClassInitialize(TestContext testContext) 
            //{ 
            //} 
            // 
            //使用 ClassCleanup 在运行完类中的所有测试后再运行代码 
            // 
            //[ClassCleanup()] 
            //public static void MyClassCleanup() 
            //{ 
            //} 
            // 
            //使用 TestInitialize 在运行每个测试前先运行代码 
            // 
            //[TestInitialize()] 
            //public void MyTestInitialize() 
            //{ 
            //} 
            // 
            //使用 TestCleanup 在运行完每个测试后运行代码 
            // 
            //[TestCleanup()] 
            //public void MyTestCleanup() 
            //{ 
            //} 
            // 
            #endregion 
     
     
            /// <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类所在的命名空间为

    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:测试指定的对象是否为非空具个例子来说明上面所写的。(先创一个测试工程) 
  • 相关阅读:
    【PHP】php基础回顾
    【PHP】MVC架构
    【OpenGL学习】使用VBO和FBO
    【OpenGL学习】使用Shader做图像处理
    hdu 杭电 1242 Rescue 果枫
    并查集模板 果枫
    数组结构体中排序 果枫
    hdu 杭电 1728 逃离迷宫 果枫
    hdu 杭电 1241 Oil Deposits 果枫
    hdu 杭电 2216 Game III 果枫
  • 原文地址:https://www.cnblogs.com/shy1766IT/p/5574155.html
Copyright © 2011-2022 走看看