- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Visual Studio Team Test 进行
?
阅读:0评论:0作者:nasdaqhe发表于2010-05-16 19:10原文链接
本文转自msdn演练:使用Visual Studio Team Test进行单元测试发布日期:5/24/2005|更新日期:5/24/2005Mark Michaelis Itron Corporation
摘要:本演练通过测试驱动开发(TDD)和先测试-后编码(test-then-code)的方法学习单元测试。
本页内容
简介开始创建测试运行测试检查异常从数据库中加载测试数据测试视图(Test View)窗口增加一个测试数据库将数据与测试关联实现和重构目标方法代码覆盖初始化和清除测试最佳实践小结
简介
最新发布的Visual Studio Test System(VSTS)包含了一套用于Visual Studio Team Test的完整功能。Team Test是Visual Studio集成的单元测试框架,它支持:
测试方法存根(stub)的代码生成。在IDE中运行测试。合并从数据库中加载的测试数据。测试运行完成后,进行代码覆盖分析。另外,Team Test包含了一套测试功能,可以同时支持开发人员和测试人员。
在本文中,我们准备演练如何创建Team Test的单元测试。我们从一个简单的示例程序集开始,然后在该程序集中生成单元测试方法存根。这样可以为Team Test和单元测试的新手读者提供基本的语法和代码,同时也很好地介绍了如何快速建立测试项目的结构。然后,我们转到使用测试驱动开发(test driven development,TDD)方法,即在写产品代码前先写单元测试。
Team Test的一个关键特点是从数据库中加载测试数据,然后将其用于测试方法。在演示基本的单元测试后,我们描述如何创建测试数据并集成到测试中。
本文中使用的示例项目包含一个LongonInfo类,它封装了与登录相关的数据(例如用户名和密码)以及一些关于数据的简单的验证规则。最终的类如下图1所示。
图1.最终的LogonInfo类请注意所有的测试代码位于一个单独的项目。这是有道理的,产品代码应该尽可能少的受测试代码影响,所以我们不想在产品代码的程序集中嵌入测试代码。
返回页首开始
首先,我们创建一个名为VSTSDemo的类库项目。默认情况下,为方案创建目录(Create directory for solution)复选框被选中。保留此选项可以使我们在VSTSDemo项目的同一层目录创建测试项目。相反,如果不选中此选项,Visual Studio 2005会将测试项目放在VSTSDemo项目的子目录中。测试项目遵循Visual Studio在解决方案文件路径的子目录中创建额外项目的规定。
创建初始的VSTSDemo项目后,我们使用Visual Studio的解决方案资源管理器将Class1.cs文件重命名为LogonInfo.cs,这样类名也会被更新为LogonInfo。然后我们修改构造函数以接受两个字符串参数:userId和password。一旦构造函数的签名被声明,我们就可以为构造函数生成测试。
图2.LongonInfo构造函数的上下文菜单的创建测试…(Create Tests.)菜单项返回页首创建测试
在开始编写LogonInfo的任何实现之前,我们遵循TDD实践的规则,首先编写测试。TDD在Team Test中并不是必需的,但最好在本文的剩余部分遵循TDD。右键单击LogonInfo()构造函数,然后选择创建测试…菜单项(如图2所示)。这样会出现一个对话框,可以在不同的项目中生成单元测试(如图3所示)。默认情况下,项目设置的输出(Output)选项是一个新的Visual Basic项目,但是也可以选择C#和C++测试项目。在本文中,我们选择Visual C#,然后单击OK按钮,接着输入项目名VSTSDemo.Test。测试项目名称。
图3.生成单元测试对话框生成的测试项目包含四个与测试相关的文件。
文件名目的
AuthoringTest.txt提供关于创建测试的说明,包括向项目增加其他测试的说明。
LogonInfoTest.cs包含了用于测试LogonInfo()的生成测试,以及测试初始化和测试清除的方法。
ManualTest1.mht提供了一个模板,可以填入手工测试的指令。
UnitTest1.cs一个空的单元测试类架构,用于放入另外的单元测试。
因为我们不打算对该项目进行手工测试,并且由于已经有了一个单元测试文件,我们将删除ManualTest1.mht和UnitTest1.cs。
除了一些默认的文件,生成的测试项目还包含了对Microsoft.VisualStudio.QualityTool
文档评论(0)