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

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
1. 测试环境的搭建(DBunit+HSQLDB) 1 1.1. DBunit的简介 1 1.1.1. DBunit简单介绍和原理 1 1.1.2. DBunit的三大核心组件 1 1.1.3. DBunit的安装使用 2 1.2. HSQLDB简介 3 1.2.2. 什么是HSQLDB 3 1.2.3. HSQLDB安装和使用 5 1.2.4. HSQLDB使用 7 1.2.5. HSLDB的使用注意事项 8 2. 数据库单元测试测试流程介绍 1 2.1. 数据库单元测试的原因 1 2.2. 测试关注点 1 2.3. 测试流程 1 3. 数据库单元测试最佳实践 2 3.1. 数据库单元测试最佳实践 2 3.1.1. 从“易测试的”应用程序体系结构开始。 2 3.1.2. 使用精确的断言。 2 3.1.3. 外化断言数据。 3 3.1.4. 编写全面的测试。 4 3.1.5. 创建稳定、有意义的测试数据集。 5 3.1.6. 创建专用的测试库。 6 3.1.7. 有效地隔离测试。 7 3.1.8. 分割测试套件。 8 3.1.9. 使用适当的框架(如 DbUnit)简化过程。 9 3.2. DBunit使用最佳实践 9 3.2.1. 每一个开发人员需要搞一个数据库实例。 9 3.2.2. 使用XML文件作为DataSet 9 3.2.3. DBUnit的最佳实践是尽可能使用最小的数据集。 10 3.2.4. DatabaseOperation.CLEAN_INSERT 策略 10 3.2.5. 为相互关联的测试场景创建多个种子文件是一个很有效的策略. 10 3.3. 自我总结 10 3.3.1. 对各种类型的方法的测试策略: 10 3.3.2. 写一个基TestCase。 10 3.3.3. 测试数据库的有效方法。 10 3.3.4. seed文件的设置 10 3.3.5. 一般的测试的步骤 11 4. 常见问题 1 4.1. DBUnit使用问题 1 4.1.1. 在运行测试用例的时候,出现org.dbunit.dataset.DataSetException: java.net.MalformedURLException at……………类似的异常? 1 4.1.2. 在运行测试用例的时候,出现SQLException,并且对应的sqlstate:23504,这是为什么? 1 4.2. HSQLDB相关的问题 1 4.2.1. 抛出:java.sql.SQLException: socket creation error 1 4.3. 其他问题 1

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值