原文: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.新创建一个数据库测试文件:

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

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

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

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

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

7.执行结果如下:

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

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

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

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

最新文章

  1. Ubuntu 14.04 LTS 更新源大全
  2. Cocos2d-x实例:设置背景音乐与音效- AppDelegate实现
  3. VS2010 C# 调用Web Service .
  4. [uiview animation ...] 这个函数有多少没有认识的可能!翻盘效果 上下左右怎么翻都不怕
  5. JVM调优之jstack找出最耗cpu的线程并定位代码
  6. hdu 2200
  7. VB.NET生成Excel,已存在提示框点否时报错
  8. 常用PHP正则表达式
  9. JavaWeb框架_Struts2_(七)----->文件的上传和下载
  10. MySQL 分页数据错乱重复
  11. 【代码审计】XYHCMS V3.5任意文件删除漏洞分析
  12. c# 中config.exe 引发的一些问题
  13. 线程池demo
  14. linux下nginx编译安装
  15. 在WPF中调用另存为对话框
  16. webService基本概念、元素及简单编码实现
  17. javaweb(十一)——使用Cookie进行会话管理
  18. shell脚本自带变量的含义
  19. 呕心沥血Android studio使用JNI实例
  20. xtrabackup在线迁移mysql并搭建为主主同步

热门文章

  1. js Array 阵列扩展方法
  2. spring mvc中实现csrf安全防御简记
  3. [LeetCode] Longest Palindrome Substring 具体分析
  4. 24L01/SI24R1调试笔记
  5. hdu2571命
  6. chrome扩展第三方浏览器下载安装
  7. 【android】ImageView的src和background以及两者之间的神奇的差异
  8. 十天学Linux内核之第三天---内存管理方式
  9. AES加密CBC模式兼容互通四种编程语言平台【PHP、Javascript、Java、C#】
  10. Git 基本原理与经常使用命令