让我们生成一些代码吧!
本例中,我们将生成本文前面提到的 BankAccount 类的代码。本文的这一部分旨在为您介绍代码生成过程,并重点介绍所提供的功能以及从 VSTS 使用 Unit Testing 引擎的好处。
第 1 步:创建您的实现代码
首先,我们创建一个将用作应用程序的业务层的类库项目。
要在 VS 2005 中创建该库:
1.启动 Visual Studio 2005 Beta 2。
2.单击 File | New | Project。
3.选择您选定的语言 Windows,并选择 Class Library 项目模板。
4.将 Name 和 Solution Name 设置为 BankAccountDemo.Business,选择一个位置,并单击 OK 来创建该类库。
VS 2005 创建该类后,下一个任务就是创建针对您的项目设计的 BankAccount 类。为此,需要执行以下操作:
1.在解决方案资源管理器中单击右键,并单击 Delete,从项目中移除该文件并将其从硬盘中删除。
2.右键单击 BankAccountDemo.Business 项目,然后单击 Add,之后单击 Class。
3.选择文件名 BankAccount.cs,并单击 Add 创建类文件。
4.针对 BankAccount.cs 文件对代码进行以下更改。
using System;
using System.Collections.Generic;
using System.Text;
namespace BankAccountDemo.Business
{
public class BankAccount
{
// Properties
private float _currentBalance;
public float CurrentBalance
{
get { return _currentBalance; }
}
// Constructors
public BankAccount(float initialBalance)
{
this._currentBalance = initialBalance;
}
// Methods
public void DepositMoney(float depositAmount)
{
this._currentBalance += depositAmount;
}
public void MakePayment(float paymentAmount)
{
this._currentBalance -= paymentAmount;
}
}
}
第 2 步:生成您的初始单元测试代码
由于 Unit Testing 引擎内置于 Visual Studio 2005 Team System,因此生成代码比以前更容易。除了生成单元测试结构之外,它将生成特定于实例的信息,例如,对象创建、类型化参数和方法执行。
VS 2005 提供在任何类结构级别生成单元测试代码的功能,这些级别包括命名空间、类、方法、属性、构造函数,等等。可通过右键单击这些代码元素并单击 Generate test(s)(图 3)进行此操作。
图 3. Generate test(s) 方法
因此,要开始代码生成过程,请执行以下步骤:
? 右键单击该类名 BankAccount 并单击 Create Tests。
现在,应该为您提供 Generate Unit Tests 对话框(如图 4 所示)。该对话框及其组件提供对该过程中生成的代码进行自定义的功能。让我们看一下所有这些元素。
图 4. 生成 Unit Tests 对话框
Current selection: 树视图允许导航自定义类及其元素。VS 2005 使用反射填充该树视图,并在右键单击以及单击 Create Tests 的位置自动选择组件。图 3 中,由于我在类级别进行了此操作,因此该对话框自动选择用于代码生成的所有类元素。如果选择在单个级别(即,构造函数、属性或方法)进行生成,则只选择那些元素。
Filter 选项(位于右上角)提供修改树视图(图 5)中所示结果的功能,包括显示非公共项、基类型以及“只属于我的代码”。如果使用的是大型解决方案,或者感觉显示私有的内部结构会弄乱选择窗口,那么这对您很有益处。
图 5. 筛选选择结果
下一个是 Output project 对话框(位于 Current selection: 树视图下)。该列表框允许您针对生成的测试装置选择目的项目(图 6)。如果您的解决方案包含以前创建的测试项目,则将包含该测试项目以供选择。由于这是我们首次访问该对话框,因此可以选择 Create a new … Test Project 选项。
图 6. 输出项目选择