zoukankan      html  css  js  c++  java
  • 第3章 单元测试

    一、单元测试的基本知识

    1.传统的单元测试

    2.集成测试

    3.优秀的单元测试

    4.一个简单的单元测试实例

    5.测试驱动开发

    6.总结

    二、单元测试基础练习

    1.单元测试框架

    2.LogAn项目的第一个单元测试

    3.更多MSTest的测试特性

    4.实验8

    5.实验9

    6.总结

    三、使用桩对象解除依赖

    1.桩对象

    2.发现LogAn对文件系统的依赖

    3.重构设计增强了可测试性

    4.总结

    四、MSTest数据驱动测试

         官方教程链接为:http://msdn.microsoft.com/zh-cn/library/ms182527(v=vs.110).aspx 

    ==================================

    练习:

    1.什么是单元测试?

    2.测试对象的英文缩写为()。

    3.在某测试过程中需要连接数据库进行,该测试肯定不是( )

    A.单元测试  B.集成测试  C.系统测试  D.功能测试

    4.[ExpectedException]可对测试方法中的()进行断言。

    5.为什么要做单元测试?

    6.已知某单元模块如下,请写出一组数据的单元测试代码。

    public class Caculate

    {

    private double a;

    private double b;

     public Caculate(double a, double b)

    {

      this.a=a;

      this.b=b;

    }

     public double Substract(double a,double b)

    {

    return a-b;

    }

    }

    7. 数据驱动测试中,(   )属性指定所使用的外部数据源。

    8. 在单元测试中,对于浮点数的断言,应为(   )。

    9. 在单元测试代码中,测试类前需加[TestClass],测试方法前需加()。

    10.单元测试的依据是程序、()。

    11.单元、集成、系统、验收测试的测试对象依次()、模块间的接口、整个系统、整个系统。

    12.在单元测试代码中,测试类前需加(),测试方法前需加()。

    13.测试驱动的开发过程为,红色—绿色—()。

    14.已知某单元模块如下,请写出一组数据的单元测试代码。

    public class Caculate

    {

    private double a;

    private double b;

     public Caculate(double a, double b)

    {

      this.a=a;

      this.b=b;

    }

     public double Substract(double a,double b)

    {

    return a/b;

    }

    }

    15.单元测试框架的用途?

    16.常见的.NET单元测试框架有()和()

    17.单元测试框架能够提供()、运行和评估单元测试及其结果的功能。

    18.单元测试框架提供了一个测试运行器,它的用途是什么?

    19.测试运行器在评估测试执行结果方面,可以提供哪些信息?

    20.单元测试方法的返回类型必须是()类型。

    21.编写测试代码可按照3A模式设计,arrange、act和()。

    22.Assert.()(expectedObject, message),验证指定的条件是否为true。

    23.Assert.()(expectedObject, actualObject, message),验证指定的值是否相等。

    24.Assert.()(expectedObject, actual, message),验证指定的对象变量是否引用同一个对象。

    25.在Assert.AreEqual(expectedObject, actualObject, message)中,message的用途是()。

    26.已知被测对象LogAnalyzer.cs,其中IsValidLogFileName函数是对文件名的扩展名是否有效进行判断。请对LogAnylyzer类进行测试。

    public bool IsValidLogFileName(string fileName) 

    {

        if (!fileName.ToLower().EndsWith(".slf"))

             return false;  

        return true;         }

    27.()定义一个测试类初始化函数,在每个测试函数运行之前,被调用一次,并配置测试类中的所有测试函数所需的资源。

    28.()定义一个测试销毁函数,在每个测试函数运行结束后,被调用一次,并释放测试类中的全部测试函数所获得的资源代码。

    29.ClassInitialize定义一个测试类初始化函数,在测试类中的每个测试函数运行之前使用,并用于分配测试类所使用的资源。

    30.ClassCleanup定义一个测试类销毁函数,在测试类中每个测试都运行以后使用,并释放测试类所获取的资源。
    31.在单元测试中,基于状态的测试是在方法执行之后,通过检查被测系统及其协作者的()来检测该方法是否正确工作。
    32.如果被测对象依赖于一个不可操控的对象,它可能是()、日期时间、线程或很多其他的东西。
    33.测试无法控制依赖项的()或其行为。
    34.如何处理外部依赖,使其可测试?
    35.解除依赖的技巧有哪些?
    36.()是指不影响已有功能而改变代码设计的一种行为。
    37.构造函数依赖解除的实例。
    38.控制反转IoC容器,有()、Autofac、Ninject、Unity等。
    39.不包含()的代码,不需要测试。
  • 相关阅读:
    感想
    正则表达式
    推送、透传、MQ
    Spring集成Quartz定时任务 ---- 定时执行
    代码优化
    nginx配置详解、端口重定向和504
    JAVA实现EXCEL导出
    js 按需加载
    MyBatis使用(二)分页查询
    MyBatis使用(一)
  • 原文地址:https://www.cnblogs.com/meetyy/p/3755053.html
Copyright © 2011-2022 走看看