1、实验一 VSTEST单元测试(1)
与其他测试相比,单元测试一般关注与更低的级别,确保底层的功能按照预期执行。例如,用户验收测试可能要完成整个购买过程,单元测试则验证ShoppingCart类是否能够正确处理添加一个负数值。
单元测试是对软件设计的最小单元——模块进行正确检验的测试工作,主要测试模块在语法、格式和逻辑上的错误。
一、相关知识
1. 为什么要进行单元测试?
增加工作量?
容易发现错误,节约时间,纠错成本低。
可以将单元测试作为目标系统的一种文档形式,便于其他开发人员查看、理解、维护和开发。
其他开发人员对某个模块功能的变动,可以执行原先的单元测试,而以前的开
2、发人员可以专注于他的现有任务,这样提升效率,同时也便于回归测试。
2. 测试驱动开发(Test-Driven Development, TDD)
TDD是一种在编写代码之前先编写单元测试的方法。
从测试列表中选择某个测试
编写测试
运行测试,得到失败的结果
编写可以编译的实现
运行测试,得到失败的结果
编写可以通过测试的实现
运行测试,得到成功的结果
重构
这个过程通常简写为“红、绿、重构”。
3. 第三方单元测试工具
xUnit: JUnit、NUnit。
4. 测试项目
Visual Studio Team Sy
3、stem提供了一种新的项目模板,称为“测试项目”,可以存储任何类型测试。测试项目可以包含的测试类型有:单元测试、Web测试、负载测试、手动测试、一般测试、顺序测试。
将测试放到测试项目中的好处是分离了测试和程序代码,避免了将测试代码部署到生产环境。
二、实验内容
1. 创建测试项目
操作1.1,练习。
测试项目创建后,Visual Studio将在你的解决方案文件夹中添加两个文件。一个是测试运行配置,它是名为localtestrun.testrunconfig的XML文件,包含如何运行测试的设置,双击该文件可以查看这些设置。另一个文件是测试元数据文件,它是名为4、me>.vsmdi的XML文件,存储解决方案的测试列表和所包含的其他测试信息,双击该文件可打开测试管理器。
2. 创建单元测试
(1)创建C#类库
u 项目名为ExtendedMath;
u 将默认文件名Class1.cs重命名为Function.cs;
u 在Function.cs中编写代码,实现Fibonacci计算,即{1,1,2,3,5,8……};
(2)创建单元测试
a. 手动创建项目
u 创建测试项目
u 添加被测类库引用
b. 自动生成测试项目
右键菜单,选择“创建单元测试”。
(3)添加单元测试代码
[TestMethod]
publ
5、ic void FibonacciTest()
{
const int FACTOR = 8;
const int EXPECTED = 21;
int actual = ExtendedMath.Functions.Fibonacci(FACTOR);
Assert.AreEqual(EXPECTED, actual);
}
(4)运行单元测试
a. 测试视图
b. 测试管理器
(5)查看测试结果
三、拓展练习
利用已学过的功能测试方法,对本题进行改进,做到充分测试Fibonacci方法?
3