C#进行单元测试实例

C#进行单元测试实例

ID:38791592

大小:253.00 KB

页数:26页

时间:2019-06-19

C#进行单元测试实例_第1页
C#进行单元测试实例_第2页
C#进行单元测试实例_第3页
C#进行单元测试实例_第4页
C#进行单元测试实例_第5页
资源描述:

《C#进行单元测试实例》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、演练:使用VisualStudioTeamTest进行单元测...演练:使用VisualStudioTeamTest进行单元测试发布日期:5/24/2005

2、更新日期:5/24/2005MarkMichaelisItronCorporation摘要:本演练通过测试驱动开发(TDD)和先测试-后编码(test-then-code)的方法学习单元测试。本页内容简介开始创建测试运行测试检查异常从数据库中加载测试数据测试视图(TestView)窗口增加一个测试数据库将数据与测试关联实现和重构目标方法代码覆盖初始化和清除测试最佳实践小结简介最新发布的V

3、isualStudioTestSystem(VSTS)包含了一套用于VisualStudioTeamTest的完整功能。TeamTest是VisualStudio集成的单元测试框架,它支持:·测试方法存根(stub)的代码生成。·在IDE中运行测试。·合并从数据库中加载的测试数据。·测试运行完成后,进行代码覆盖分析。另外,TeamTest包含了一套测试功能,可以同时支持开发人员和测试人员。在本文中,我们准备演练如何创建TeamTest的单元测试。我们从一个简单的示例程序集开始,然后在该程序集中生成单元测试方法存根。这样可以为TeamTest和

4、单元测试的新手读者提供基本的语法和代码,同时也很好地介绍了如何快速建立测试项目的结构。然后,我们转到使用测试驱动开发(testdrivendevelopment,TDD)方法,即在写产品代码前先写单元测试。TeamTest的一个关键特点是从数据库中加载测试数据,然后将其用于测试方法。在演示基本的单元测试后,我们描述如何创建测试数据并集成到测试中。本文中使用的示例项目包含一个LongonInfo类,它封装了与登录相关的数据(例如用户名和密码)以及一些关于数据的简单的验证规则。最终的类如下图1所示。图1.最终的LogonInfo类请注意所有的测试

5、代码位于一个单独的项目。这是有道理的,产品代码应该尽可能少的受测试代码影响,所以我们不想在产品代码的程序集中嵌入测试代码。返回页首开始首先,我们创建一个名为“VSTSDemo”的类库项目。默认情况下,为方案创建目录(Createdirectoryforsolution)复选框被选中。保留此选项可以使我们在VSTSDemo项目的同一层目录创建测试项目。相反,如果不选中此选项,VisualStudio2005会将测试项目放在VSTSDemo项目的子目录中。测试项目遵循VisualStudio在解决方案文件路径的子目录中创建额外项目的规定。创建初始

6、的VSTSDemo项目后,我们使用VisualStudio的解决方案资源管理器将Class1.cs文件重命名为LogonInfo.cs,这样类名也会被更新为LogonInfo。然后我们修改构造函数以接受两个字符串参数:userId和password。一旦构造函数的签名被声明,我们就可以为构造函数生成测试。图2.LongonInfo构造函数的上下文菜单的“创建测试…”(CreateTests...)菜单项返回页首创建测试在开始编写LogonInfo的任何实现之前,我们遵循TDD实践的规则,首先编写测试。TDD在TeamTest中并不是必需的,但

7、最好在本文的剩余部分遵循TDD。右键单击LogonInfo()构造函数,然后选择“创建测试…”菜单项(如图2所示)。这样会出现一个对话框,可以在不同的项目中生成单元测试(如图3所示)。默认情况下,项目设置的输出(Output)选项是一个新的VisualBasic项目,但是也可以选择C#和C++测试项目。在本文中,我们选择VisualC#,然后单击OK按钮,接着输入项目名VSTSDemo.Test。测试项目名称。图3.生成单元测试对话框生成的测试项目包含四个与测试相关的文件。文件名目的AuthoringTest.txt提供关于创建测试的说明,包

8、括向项目增加其他测试的说明。LogonInfoTest.cs包含了用于测试LogonInfo()的生成测试,以及测试初始化和测试清除的方法。ManualTest1.mht提供了一个模板,可以填入手工测试的指令。UnitTest1.cs一个空的单元测试类架构,用于放入另外的单元测试。因为我们不打算对该项目进行手工测试,并且由于已经有了一个单元测试文件,我们将删除ManualTest1.mht和UnitTest1.cs。除了一些默认的文件,生成的测试项目还包含了对Microsoft.VisualStudio.QualityTools.UnitTe

9、stFramework和VSTSDemo项目的引用。前者是测试引擎运行单元测试需要依赖的测试框架程序集,后者是对我们需要测试的目标程序集的项目引用。默认情况下,生成

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。