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

顺序测试,顾名思义,就是按照预先设定的顺序来测试一系列的方法。
  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. android Lib

    Android 支持库软件包含可以添加至应用的多个库.每个库均支持特定范围的 Android 平台版本和功能. 本指南介绍了各支持库提供的重要功能和版本支持,从而帮助您决定在应用中添加哪些支持库.一般 ...

  2. ubuntu14.04使用wubi安装出错

    使用wubi安装后,进入系统是总是提示/分区加载异常,无法正常进入系统. 参考解决方案来自 http://jingyan.baidu.com/article/0aa22375bbffbe88cc0d6 ...

  3. ViewPage实现幻灯广告墙

        ViewPage实现幻灯广告墙 功能简介 类似幻灯片功能 自动切换图片 触摸停止切换图片 自带标题功能和切换圆点 核心功能实现方法 1. 布局 <LinearLayout xmlns:a ...

  4. 15第十五章UDF用户自定义函数(转载)

    15第十五章UDF用户自定义函数 待补上 原文链接 本文由豆约翰博客备份专家远程一键发布

  5. JS 定時刷新父類頁面

    function timeCount() { var url = "MAC.aspx"; parent.location.href = url; } function beginC ...

  6. Oracle 11g 新特性(一)-- 虚拟列

    数据库版本: Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Oracle11g 增加了虚拟列的新特性, 具体说明如 ...

  7. 导出文本、表格、图像到PDF格式文件中(学习整理)

    1.测试例子: 需要导入的外部jar包: 相关API http://www.coderanch.com/how-to/javadoc/itext-2.1.7/com/lowagie/text/pack ...

  8. C字符串总结+字符串库实现(增,改,删,查):

    <一>,字符指针&字符数组 两者形式: 字符指针:char *p; 字符数组:char str[100]; 两者区别: 字符指针p是变量: 字符数组str是常量: 访问元素方式: ...

  9. hdu_1003_Max Sum

    Max Sum Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Su ...

  10. php ob_ 开头的相关函数

    <?phpbool ob_start([ callback $output_callback [, int $chunk_size [, bool $erase ]]]); /* 打开输出控制缓 ...