VS2005代码和集成开发环境包括许多新的和改进的用于提高工作效率的功能。IDE 还进行了重新设计,从而向开发人员提供对.NET Framework 组件的直接访问。并且代码使用说明。
如果这段逻辑存储在一个数据表里,那么我们可以将订单的价格传入一个存储过程,然后在表中查询折扣数量。不过,当我们着手创建表格和存储过程时,很快就会遇到一些问题。这个表格的结构是怎么样的?我们该如何表示一个范围的***值和***值?如何处理边界情况?
这正是DBPro的单元测试功能试图回答的问题。让我们来看一下如何使用测试驱动的方式,在SQL Server中创建表格和存储过程并实现这个功能。如果您想随着以下的步骤一起进行试验,那么您需要安装Visual Studio 2005/2008 with Team Edition for Database Professionals (DBPro),以及Team Edition for Testers/Developers。您能够在http://msdn2.microsoft.com/en-us/teamsystem/default.aspx下载到180天试用版本。#t#
内容导航
首先我们需要一个数据库。DBPro中的测试是面向一个真正的数据库的。一般来说,单元测试应该避免涉及到文件系统,数据库以及其他一些外部资源(Feathers, Michael, Working Effectively with Legacy Code, Prentice Hall PTR, 2004),因为这样会降低测试的速度。然而,您也许可以将这些测试视为集成测试,这样测试所带来的功效就弥补了速度方面的问题。为了提高测试速度,我们将在本地的SQL Express数据库中运行这些测试。
当您点击OK按钮之后就会弹出一个配置向导,让我们选择一个用于运行测试的数据库连接。它也会让我们选择第二个连接用于验证这些测试。这在某些情况下非常有用,例如一个测试应该作为一个普通用户来执行,但是存储过程可能修改了这个用户账号本不能访问的数据表。
现在,我们需要选择一个之前建立的数据库连接用于执行单元测试,因此我们从下拉框中选择OnlineStore连接。由于我们将会在编写测试数据库项目中开发我们的存储过程,所以我们也要在测试运行之前建立配置信息,用于自动部署我们对数据库项目的改动。这会导致测试在运行前有所延迟,但是这避免了因为没有重新部署数据库的改动而使测试莫名其妙的通过或失败。现在您的屏幕应该是这样的: