第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.不包含()的代码,不需要测试。
原文地址:https://www.cnblogs.com/meetyy/p/3755053.html