前文中所提到的测试都是针对一个方法进行的独立测试,即使是同事测试多个方法,他们之间也没有影响。但是在实际的生产过程中,更多的情况是方法与方法之间是存在相互的逻辑关系的,所以也就有了今天要介绍的顺序测试。

顺序测试,顾名思义,就是按照预先设定的顺序来测试一系列的方法。
  1. 首先还是展示一下要进行测试的代码

        public class Mathmatics
    {
    public static int Add( int a, int b)
    {
    return a + b;
    }
    public static int Dec( int a, int b)
    {
    return a - b;
    } public static int Div( int a, int b)
    {
    return a / b;
    } public static int Mul( int a, int b)
    {
    return a * b;
    }
    }
  2. 生成各个方法对应的测试代码

            /// <summary>
    /// A test for Add
    ///</summary>
    [ TestMethod ]
    public void AddTest()
    {
    int a = ; // TODO: Initialize to an appropriate value
    int b = ; // TODO: Initialize to an appropriate value
    int expected = ; // TODO: Initialize to an appropriate value
    int actual;
    actual = Mathmatics . Add(a, b);
    Assert .AreEqual(expected, actual);
    } /// <summary>
    /// A test for Dec
    ///</summary>
    [ TestMethod ]
    public void DecTest()
    {
    int a = ; // TODO: Initialize to an appropriate value
    int b = ; // TODO: Initialize to an appropriate value
    int expected = ; // TODO: Initialize to an appropriate value
    int actual;
    actual = Mathmatics . Dec(a, b);
    Assert .AreEqual(expected, actual);
    } /// <summary>
    /// A test for Div
    ///</summary>
    [ TestMethod ()]
    public void DivTest()
    {
    int a = ; // TODO: Initialize to an appropriate value
    int b = ; // TODO: Initialize to an appropriate value
    int expected = ; // TODO: Initialize to an appropriate value
    int actual;
    actual = Mathmatics . Div(a, b);
    Assert .AreEqual(expected, actual);
    } /// <summary>
    /// A test for Mul
    ///</summary>
    [ TestMethod ()]
    public void MulTest()
    {
    int a = ; // TODO: Initialize to an appropriate value
    int b = ; // TODO: Initialize to an appropriate value
    int expected = ; // TODO: Initialize to an appropriate value
    int actual;
    actual = Mathmatics . Mul(a, b);
    Assert .AreEqual(expected, actual);
    }
  3. 创建顺序测试
    在测试项目上添加新项--顺序测试(Ordered Test)

    打开顺序测试文件,会显示如上图,左侧是项目中已经存在的测试方法,而右侧则是编辑的测试顺序。而一个测试方法可以在右侧的顺序中多次出现。
    也可以通过左下方的复选框来选择测试失败后是否继续执行后面的测试。
  4. 执行测试

    执行测试的话,可以在打开Test View(测试视图),选中刚刚新增的顺序测试,执行就可以了
  5. 测试结果


    顺序测试在TestResult(测试结果)结果中显示为一条记录,可以双击该记录,查看详细信息,如下图:

    在这里,我们刚刚所建的顺序测试的执行情况就一目了然了。

    关于顺序测试的内容就介绍这些了,更多内容还是需要大家来一起发掘。

使用VisualStudio进行单元测试之四 顺序测试的更多相关文章

  1. Visual Studio 单元测试之四---Generic测试

    原文:Visual Studio 单元测试之四---Generic测试 这里的Generic我觉得理解为外部测试更合适.因为在这种测试模式下Visual Studio只是启动一个外部的程序,然后通过返 ...

  2. VS2017创建的单元测试不支持顺序测试

      问题:使用IDE创建的单元测试项目,标准引用是,导致不能添加顺序测试,复制其它项目的顺序测试文件进行编辑时,也会提示基于MSTest V2的测试不能用于顺序测试     解决办法: 移除自带的NU ...

  3. Android单元测试之四:仪器化测试

    Android单元测试之四:仪器化测试 仪器化测试 在某些情况下,虽然可以通过模拟的手段来隔离 Android 依赖,但代价很大,这种情况下可以考虑仪器化的单元测试,有助于减少编写和维护模拟代码所需的 ...

  4. Android单元测试与模拟测试详解

    测试与基本规范 为什么需要测试? 为了稳定性,能够明确的了解是否正确的完成开发. 更加易于维护,能够在修改代码后保证功能不被破坏. 集成一些工具,规范开发规范,使得代码更加稳定( 如通过 phabri ...

  5. Unity脚本在层级面板中的执行顺序测试2

    上一篇测试了生成顺序对执行顺序的影响,链接:LINK 执行顺序测试3: LINK 这篇主要测试一下Awake,OnEnable,Start三个常用消息的循环顺序 1.测试消息循环顺序 先上一个最简单的 ...

  6. Unity脚本在层级面板中的执行顺序测试3

    断断续续的写了3篇,以后有时间可以做成一个系列了 前面2篇测试了GameObject的顺序,以及Awake和OnEnable的时机: Unity脚本在层级面板中的执行顺序测试1 http://www. ...

  7. Unity脚本在层级面板中的执行顺序测试4-附加整理

    测试4为一些附加内容,后续的各种tips都加在此. 前几篇测试的链接: Unity脚本在层级面板中的执行顺序测试1 http://www.cnblogs.com/hont/p/4298110.html ...

  8. Oracle 列顺序测试

    列顺序测试 大家在做表设计的时候通常对表中列的排列顺序没有过多注意,但是其实越常用的列,它的位置越靠前,则查询速度越快. 因为每个block里面存储了row directory (每行数据在块中的位移 ...

  9. 使用VisualStudio进行单元测试之三

    私有方法需不需要测试,本文不做讨论.假设您也认为有时候,私有方法也需要进行测试,那就一起来看看如何进行私有方法的测试. 准备测试代码 测试用的代码还是前面测试时使用过的代码,不同之处就是在类中增加了一 ...

随机推荐

  1. WisDom.Net 框架设计(五) 权限设计

    WisDom.Net --权限设计 1.需求分析     基本在所有的管理系统中都离不开权限管理.可以这么说,权限管理是管理系统的核心所在. 权限管理说白一些就是每个人能够做什么,不能够做什么.可以说 ...

  2. C#中有关字符串去重的解决方案

    今天在群里看到一个同学的面试题 题目中有一个这样的要求 //本地有个文档文件a.txt里面包含的内容分为一段字符串"abacbacde"请编写一个程序,获取文件得到对应的内容,并对 ...

  3. ArcGIS 设置地图显示范围大小

    Arcmap的FullExtent默认是地图加载的时候的extent.其实这个fullExtent是可以设置的. 打开ArcMap,选择左边图例的Layers ,右键点击,选择“Properties. ...

  4. [上传下载] C# ImageUpload图片上传类教程与源码下载 (转载)

    点击下载 ImageUpload.zip 功能如下图片1.设置属性后上传图片,用法如下 /// <summary> /// 图片上传类 /// </summary> //--- ...

  5. Js 上传文件 页面不刷新

    html控件代码: <form id="form1"> <p><input type="file" name="mfil ...

  6. ListView优化分页优化

    缘由 我们在用ListView展现数据的时候.比如展现联系人,如果联系人太多就会出现卡的现象,比如如果有1000多条数据,从数据库里查询,然后装载到List容器这段时间是比较耗时的.虽然我们可以用as ...

  7. shell脚本学习之$0,$?,$!等的特殊用法

    变量说明: $$ Shell本身的PID(ProcessID) $! Shell最后运行的后台Process的PID $? 最后运行的命令的结束代码(返回值) $- 使用Set命令设定的Flag一览 ...

  8. Laravel_1 安装

    1>http://www.golaravel.com/post/install-and-run-laravel-5-x-on-windows/ 2>http://www.golaravel ...

  9. Codevs 1010 过河卒 2002年NOIP全国联赛普及组

    1010 过河卒 2002年NOIP全国联赛普及组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 传送门 题目描述 Description 如图,A 点有一个过河卒 ...

  10. winform下mapxtreme2008 v7.0 生成release版提示找不到dll问题

    在winform下基于mapxtreme2008 v7.0 生成了一个地图软件,用debug方式运行无误,但改为release版时提示缺少一大堆dll,如: 无法从C:\Program Files ( ...