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

顺序测试,顾名思义,就是按照预先设定的顺序来测试一系列的方法。
  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. 【转】Java中equals和==的区别

    [转]Java中equals和==的区别 java中的数据类型,可分为两类: 1.基本数据类型,也称原始数据类型.byte,short,char,int,long,float,double,boole ...

  2. H TML5 之 (4) 小项目一 时钟

    这里做一个HTML5 入门的练手,一个小时钟项目,可以再上面拓展很多,程序员培养的就是思想 <!DOCTYPE HTML> <html> <head> <ti ...

  3. IOS LocationManager定位国内偏移,火星坐标(GCJ-02)解决方法

    转载自:http://blog.csdn.net/swingpyzf/article/details/16972351 纠偏也可参考:http://www.2cto.com/kf/201310/253 ...

  4. JPEG 图

    多媒体教程 - JPEG 图 JPEG 是在 Web 上使用的主要图像格式之一. 本文讲解 JPEG 图像的概念和特性. 理解图像格式 无论是 HTML 还是 XHTML 都没有规定图像的官方格式.然 ...

  5. 配置wamp开发环境【2】 配置wamp开发环境之mysql的配置

    此前我已经将wamp配置的Apache.PHP.phpmyadmin全部配置完成,以上三种配置参照 配置wamp开发环境 下面我们来看看mysql的配置,这里用的是mysql5.5.20,下载地址: ...

  6. 转:探讨android更新UI的几种方法

    本文转自:http://www.cnblogs.com/wenjiang/p/3180324.html 作为IT新手,总以为只要有时间,有精力,什么东西都能做出来.这种念头我也有过,但很快就熄灭了,因 ...

  7. Spring Boot笔记(一)

    Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置.通过 ...

  8. Set集合中的HashSet集合

    HashSet集合的特点:元素是具备唯一性的,每次存储都要先算出哈希值,看有没相同,没有相同的存储到相应的位置,如果相同则再判断存储进来的值是否与被比较的相同,如果相同,则不再存储,不同就存储 pac ...

  9. 平衡搜索树(三) B-Tree

    B树的简介 B 树是为了磁盘或其它存储设备而设计的一种多叉平衡查找树.与红黑树很相似,但在降低磁盘I/0操作方面要更好一些(树的深度较低).许多数据库系统都一般使用B树或者B树的各种变形结构.B树与红 ...

  10. upgrade和update的区别

    以前一直没搞清这二个词的意思,特别是linux软件管理的时候,用update和upgrade一直没弄明白,后来终于查清: upgrade一般是指比较重要的升级,或者说是主要的,单独版本的升级,其中软件 ...