Visual Studio 单元测试之五---数据库测试-阿里云开发者社区

开发者社区> 杰克.陈> 正文

Visual Studio 单元测试之五---数据库测试

简介: 原文: Visual Studio 单元测试之五---数据库测试             数据库的单元测试主要是测试数据库中的数据是否符合特定的条件,Visual Studio 2010支持下面几种数据的单元测试类型(Visual Studio 2008 不支持数据库测试): 类型 ...
+关注继续查看

原文: Visual Studio 单元测试之五---数据库测试

 

          数据库的单元测试主要是测试数据库中的数据是否符合特定的条件,Visual Studio 2010支持下面几种数据的单元测试类型(Visual Studio 2008 不支持数据库测试)

类型

说明

Data Checksum

对数据进行Checksum检验

Empty ResultSet

测试执行的SQL语句返回结果集是否为空

Execution Time

测试执行时间

Expected Schema

测试结果集中的列和数据类型是否与指定的测试条件匹配

Inconclusive

默认缺省选项。单元测试里面的Inconclusive作用相同

Not Empty ResultSet

Empty ResultSet相反,测试结果集是否不为空

Row Count

测试结果集是否包含指定的数据行数

Scalar Value

测试返回的标量值是否与指定值相同。

更多官方解释及说明请参看:http://msdn.microsoft.com/en-us/library/aa833423.aspx

本文的例子可以使用下面的链接下载:
http://download.csdn.net/source/3014236

下面就开始Step By Step的建一个数据库单元测试实例。

1.新创建一个数据库测试文件:

51.JPG

2.如果你是每一次创建数据库测试文件,那么系统会自动提示你连接一个数据库:

52.JPG

3.创建成功后,如下图。点击去创建脚本文件。

53.JPG

4.如下图所示。UserGroup是我数据库中的一张表且里面只有一条数据。把系统默认的Inconclusive去掉,加上Execution TimeRow Count两个测试条件。注意看Value里面的解释。测试执行时间不能超过30秒,测试返回结果集只能返回0行。因为我们的测试结果集有一行数据,所以要修改rowCountCondition1的条件。

54.JPG

5. rowCountCondition1的属性框里面把0修改成1.如下:

55.JPG

6.Test List Editor里面刷新一下,就可以看到我们刚建的数据库测试了,执行。

56.JPG

7.执行结果如下:

57.JPG

至此,数据库的单元测试界面操作基本完成。下面我们看一下后台代码。

通过代码我们可以了解到测试实际分为三个步骤:预测试(PretestAction),测试(TestAction),测试完成(PosttestAction)三部分。自动产生的代码,把预测试和测试完成的部分都省略了(

 

this.DatabaseTest1Data.PosttestAction = null;this.DatabaseTest1Data.PretestAction = null;)  实际操作中,我们可以根据自己的需要,进行修改。

 

如需转载,请注明本文原创自灰太狼的博客:http://blog.csdn.net/tjvictor

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
PO,VO,DAO,BO,POJO 之间的区别你懂吗?
value object:值对象。 通常用于业务层之间的数据传递,由new创建,由GC回收。
7 0
ECS使用有感
我是一名即将步入社会的大学生,随着网络法等相关专业知识的学习愈发强烈。查询资料时,常常会浏览到制作精美的个人站,因此产生了建设自己个人站的设想,但是由于业余时间少之甚少,同时听闻购买域名与服务器的价格不菲,因此计划一直未能实现
4 0
冬季实战营第一期:从零到一上手玩转云服务器体验步骤
冬季实战营第一期:从零到一上手玩转云服务器体验步骤
4 0
冬季实战营第一期:从零到一上手玩转云服务器学习报告
从零到一上手玩转云服务器,第一期学习报告
4 0
对于操作系统而言进程、线程以及Goroutine协程的区别
进程、线程、协程实际上都是为并发而生。但是他们的各自的模样是完全不一致的,下面我们来分析一下他们各自的特点和关系。本文不重点介绍什么是进程和线程,而是提炼进程、线程、协程干货。且是基于Linux下的进程、线程解释。
4 0
轻松实现织梦网站数据迁移到新站点
众所周知,织梦已经开始收费了,这对国内版权意识增强应该不算坏事,但想要免费使用又不想惹麻烦的站长们就有点麻烦了。
4 0
冬季实战营第一期学习报告
1月17至22日,我有幸参加了阿里云组织的“冬季实战营第一期:从零到一上手玩转云服务器”抱着期待和学习的心情,我参与其中,经过训练,收益良多、颇有收获
17 0
学习报告第一期
我有幸参加了阿里云组织的“冬季实战营第一期:从零到一上手玩转云服务器”抱着期待和学习的心情,我参与其中,经过训练,收益良多、颇有收获
4 0
+关注
杰克.陈
一个安静的程序猿~
10427
文章
2
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载