zoukankan      html  css  js  c++  java
  • Visual studio.NET单元测试中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;
                }

            }

            
    附加测试属性


            
    /// <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,"不是空所以测试失败");           
            }


        }


    }

  • 相关阅读:
    BOI 2002 双调路径
    BOI'98 DAY 2 TASK 1 CONFERENCE CALL Dijkstra/Dijkstra+priority_queue/SPFA
    USACO 2013 November Contest, Silver Problem 2. Crowded Cows 单调队列
    BOI 2003 Problem. Spaceship
    USACO 2006 November Contest Problem. Road Blocks SPFA
    CEOI 2004 Trial session Problem. Journey DFS
    USACO 2015 January Contest, Silver Problem 2. Cow Routing Dijkstra
    LG P1233 木棍加工 动态规划,Dilworth
    LG P1020 导弹拦截 Dilworth
    USACO 2007 February Contest, Silver Problem 3. Silver Cow Party SPFA
  • 原文地址:https://www.cnblogs.com/zhwl/p/2019063.html
Copyright © 2011-2022 走看看