VS2005 Team Suite版本自带单元测试的使用

 VS2005 Team Suite版本中,其自身所带的Team System testing tool是一个功能强大,使用方便的单元测试工具。有人评论,其性能较之NUnit有过之而无不及。

 

       Team System testing tool中,最常用的当然是对方法的测试,其中包括对私有方法的测试。其他类型的单元测试还有:数据驱动型单元测试、ASP.NET 单元测试和 Web 服务单元测试,在这里不做讨论。

 

       下面我们来看看如何使用Team System testing tool进行单元测试。

       使用Team System testing tool进行单元测试,总的可以分成生成单元测试、管理单元测试、运行单元测试和单元测试结果和分析四步。

 

1. 创建单元测试

一般来说,我们都选用自动生成测试代码来生成单元测试,其实你也可以通过自己编写测试代码来创建单元测试。

 

自动生成单元测试有四种生成途径,分别为:

 

a. 在解决方案资源管理器中右击某个测试项目,指向添加,再单击单元测试

b. 在解决方案资源管理器中右击某个测试项目,指向添加,再单击新建测试。在添加新测试对话框中单击单元测试向导,再单击确定

c. 测试管理器窗口或测试视图窗口中右击窗口图面,再单击新建测试。在添加新测试对话框中单击单元测试向导,再单击确定

d. Visual Studio 代码编辑器中,右击要测试的命名空间、类或方法并选择创建单元测试

完成以上操作中的某一步后,将显示创建单元测试对话框。

其中会出现一个树状结构,显示代码所属程序集的类和成员层次结构。使用此页可以为选定的所有成员或类生成单元测试,并可以选择要在其中放置生成的单元测试的项目。最初在树状结构中选定的代码元素是您右击的元素及其包含的所有子元素。该选择是基于当前光标位置的。

完成以上操作后,依次进行下列操作来最终生成单元测试代码。

(可选)单击筛选器可更改显示的类和成员层次结构的内容。

(可选)通过选中其复选框选择其他代码元素。

(可选)单击设置可更改此测试的生成配置设置。例如,可以为要生成的测试文件、类和方法更改默认的命名选项。完成后,单击确定

单击确定

 

2. 管理单元测试

在生成了针对于某一方法的单元测试代码后,该单元测试还不能来对该方法进行测试,这时就需要通过对单元测试的管理、编辑来完成在测试代码运行前的最后准备。

测试管理器测试视图中,右击要打开的测试,再单击打开,或者双击测试。测试的源代码文件打开并滚动到相应的测试方法。然后在方法中找到需要编辑的语句:

string data = null; // TODO: 初始化为适当的值

在语句后注释有// TODO: 初始化为适当的值的语句是对需要测试的方法的参数赋初始值。如上面的语句,是对string型的参数data赋了一个null的初始值。

对于测试代码来说,光有初始值是不够的,我们还需要有一个或多个结果值,这个(些)结果值是为了与测试代码执行后所得的返回值进行比较,从而验证所测的方法是否存在逻辑上的Bug

一般定义成系统自动定义的expected变量是要来赋预想的结果值,如

byte[] expected = { 103, 53, 104, 54, 53, 58, 55, 56, 60, 62, 56 };

上面的语句为预计执行完测试代码后应该得到的数据是一个byte型数组,其数组值如上所示。至于程序最后所得到的结果是不是与上面预想的一致就要看该测试方法了。

最后就是将Assert.Inconclusive("验证此测试方法的正确性。");该语句去掉或者注释掉,否则在执行完测试代码后的结果是“没有结论”。

在完成了上面的所有操作后,我们可以进入测试代码的运行阶段了。

 

3. 运行单元测试

可以通过以下的几种方式来运行我们现在所需要进行的测试代码:

 

a.右击测试视图窗口中的测试,再单击运行选定内容

b.选择测试视图窗口中的测试,再单击测试视图工具栏上的运行选定内容

 

也可以在测试管理器窗口中选中一个测试。然后,

c.单击测试管理器工具栏上的运行选中的测试

d.右击窗口图面,再单击运行选中的测试

 

       e.在测试管理器窗口中,在仅包含要运行的测试的测试列表旁边放一个选中标记,再单击测试管理器工具栏上的运行测试

       d.在测试结果窗口中选中一个测试结果后,单击测试结果窗口状态栏上的重新运行

       选择以上六种方式中的某一种都能够运行所需的测试代码。我们也可以选择“调试选定内容”对方法进行逐行调试。

        

4. 单元测试结果和分析

在完成了单元测试的运行后,在“测试结果”中会返回一个结果(通过,失败,没有结论 中的某一个)

通过:测试运行通过成功。

失败:测试未通过,其原因可能是语法错误,也可能是逻辑错误导致运行结果与预想的结果不一致引起的。

没有结论:有可能是Assert.Inconclusive("验证此测试方法的正确性。");该语句没有去掉或注释掉所引起的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值