图解VS.NET之单元测试

据说VS2005里即提供了测试功能,可是对于像我或者我们这样的开发人或团队真还没有进化到用测试这块。一直以来都是手工测试或等到用户发现问题。今天在网上找了一个介绍单元测试的WORD文档,按里面说的做了一下,现将过程记录如下。(非常简单的例子,希望大家不要扔鸡蛋,唉·#%·#¥·#·#¥·#¥)

1、准备要测试的方法

2、创建测试

选择此项后DOT NET会利用反射机制列出程序集信息(有点慢,不知道是不是机器原因):

下图是设置按钮对应的对话框,在里面可以指定类名什么的。无视确定,输入测试项目名称即可,会创建一系列文件,还有一个TXT文件,没什么用,当然你也可以仔细看看。



3、查看测试类

4、修改测试方法,为其赋值。改后如下:

5、执行测试

在“public void addTest()”上点右键执行“运行测试”会打开测试执行窗口,并显示过程与结果。

在此窗口中可以看到调试按钮,当测试的方法比较复杂时或想了解测试过程时,可在测试代码中加入断点,然后点测试结果窗口的调试按钮进行跟踪调试。

通过上述方法即可实现一个简单的测试。但有个问题是如果我们要测试的数据非常多,不可能一次次停掉程序修改参数再执行测试。我们可以将数据放在数据库中,或是利用数据库的数据来进行测试。

6、连接数据库,创建测试数据

通过服务器资源管理器,连接到SQL SERVER 创建了一个名为AddTestData的数据表。其中a,b为要测试函数的参数。c为预期结果。创建完成,填入数据如下:

7、将测试数据与测试用例关联

打开测试视图

选择测试视图中的用例,然后在属性窗口中设置以下属性。

连接串就不用说了吧,连到刚才指定的数据库的字符串,表名称用“AddTestData”,访问方法选默认的Sequential,顺序,当然如果数据表中的数据太多或没有必要全测试时,可以在此选择随机Random

修改测试用例

其实上边的枚举可以不用的,直接指定“0,1,2”就行,但我看到的文章里是这样写的,就照着写下来了。经过这样的改写后(注意代码中的数据连接),

8、执行连接数据库的测试

与上边的测试是一样的,启动测试。查看结果:

未通过?有一个未通过,不要慌,是因为我在测试数据中有个期望结果故意写错了。

双击未通过的行,可以打开如下信息:

这样更有利于我们查找问题的原因。

9、代码测试覆盖率

这个功能找了半天好不容易找到,默认是不开启的,需手动开启。

这个文件是在创建测试项目时自动添加的。在其上面双击会弹出一个对话框:

在此对话框中选择代码覆盖率项,在右侧选中要检测的项目,最后点应用、关闭。

在测试结果窗口点击“显示代码覆盖率着色”按钮。当然如果你不点的话,可以在结果中看到覆盖情况,但不会直观地看到哪些代码被覆盖。


好了,一个简单的单元测试应该就是这样吧!

你可能感兴趣的:(认识VS,开发系列)