一、单元测试的基本知识
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定义一个测试类初始化函数,在测试类中的每个测试函数运行之前使用,并用于分配测试类所使用的资源。