您的位置:首页 > 其它

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 Order

AssemblyInitializeAttribute

AssemblyCleanupAttribute

ClassInitializeAttribute

ClassCleanupAttribute

TestInitializeAttribute

TestCleanupAttribute

Attributes used to Identify Test Classes and Methods

TestClassAttribute

TestMethodAttribute

Using Assert Class

Assert

CollectionAssert

StringAssert

AssertFailedException

AssertInconclusiveException

UnitTestAssertException

ExpectedExceptionAttribute

参考

[1] 书籍:《.NET单元测试艺术》

[2] 单元测试之Stub和Mock

[3] Unit Tests Overview
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: