Unit Test with VS.NET
2014-10-30 22:22
411 查看
Unit Test with VS.NET
2014-10-30定义
单元测试框架
Visual Studio 2008提供的单元测试框架
参考
定义[1]
返回传统的单元测试:是一段代码(通常一个方法)调用另外一段代码,随后检验一些假设的正确性。如果假设的结果错了,单元测试失败。一个“单元”指的是一个方法或函数。
优秀的单元测试:是一段自动化的代码,用来调用被测试的方法或类,而后验证基于该方法或类的逻辑行为的一些假设。单元测试几乎总是用单元测试框架来写的。它写起来很顺手,运行起来不费时。它是全自动的、可信赖的、可读性强、可维护。
单元测试框架[1]
返回作用:单元测试是基于单元测试框架提供的库,是用代码实现的。然后在一个独立的单元测试工具中运行,开发人员可以去评估结果(以UI或者文本的方式),也可以利用自动化构建过程去评估结果
图1 单元测试框架
表一 单元测试框架如何帮助开发人员编写和执行测试,评估结果
单元测试实践 | 框架的用途 |
用方便和结构化的方式编写测试 | 框架开发人员提供一个类库,其中包括: 可以被继承的基类或者接口 放在代码中的特性,用于标示要执行的测试 提供断言(assert)类,包含可用于验证代码的断言方法 |
执行一个或者所有的单元测试 | 框架提供一个测试运行起(test runner,一个命令行或者GUI工具),它可以: 识别代码中的测试 自动化执行测试 执行过程中现实状态 可以通过命令行调用自动执行 |
评估测试执行结果 | 测试运行器通常提供以下信息: 执行多少测试 多少测试没有执行 多少测试失败那些测试失败 测试失败的原因 你所写的断言(Assert)信息 失败的代码位置 可能包括导致测试失败的任何异常的完整栈追踪信息,以便让你可以找到调用栈中的各种方法 |
Visual Studio 2008提供的单元测试框架[3]
返回图2 Visual Studio 2008提供的单元测试框架
Unit Test Case Class Level Attributes
Attributes Used to Establish a Calling OrderAssemblyInitializeAttribute
AssemblyCleanupAttribute
ClassInitializeAttribute
ClassCleanupAttribute
TestInitializeAttribute
TestCleanupAttribute
Attributes used to Identify Test Classes and Methods
TestClassAttribute
TestMethodAttribute
Using Assert Class
AssertCollectionAssert
StringAssert
AssertFailedException
AssertInconclusiveException
UnitTestAssertException
ExpectedExceptionAttribute
参考
[1] 书籍:《.NET单元测试艺术》[2] 单元测试之Stub和Mock
[3] Unit Tests Overview
相关文章推荐
- 对调用了TypeMock.net的代码进行调试遇到的怪问题--在vs.net中启动resharper自带的unit test的过程和方式是什么样的?
- 推荐一个不错的VS.NET集成单元测试工具TestDriven.NET
- VS.Net下的新的单元测试工具-TestDriven.NET
- Lightweight UI Test Automation with .NET
- Data-Driven Unit Test with Excel 2007要点
- TestDriven.Net VS插件介绍
- Unit Test Your .NET Data Access Layer
- 用VS.NET中的测试工具(Application Center Test)测试ASP.NET程序
- 推荐一个不错的VS.NET集成单元测试工具TestDriven.NET
- .NET with Ruby and ASP.NET vs. Rails [转载]
- Integrating Visual Studio Team System 2008 Unit Tests with CruiseControl.NET
- integrated php with vs.net
- Unrecognized Attribute 'xmlns' when working with VS.NET Express Edition
- Debug COM dll with .Net app in VS.Net
- Beginning Java ME Unit Test with J2MEUnit
- How to build Multi-Language Web Sites with ASP.NET 2.0 and VS.Net 2005
- HOWTO: CVS with VS.NET
- Write Unit Tests With VSTeamSystem
- Unit test hibernate with hsqldb
- VS 2005, How to use Assert to perform UnitTest?