如何:创建空的数据库单元测试
可以在数据库项目中包括单元测试,以确认对数据库对象所做的更改不会破坏现有的功能。 下面的过程说明如何为任何数据库对象创建数据库单元测试。 Visual Studio 高级专业版包括一些对数据库函数、触发器和存储过程的额外支持。 有关更多信息,请参见如何:为函数、触发器和存储过程创建数据库单元测试。
在使用第一个过程创建数据库单元测试时,如果没有测试项目,系统会自动为您创建一个测试项目。 如果已经存在多个测试项目,您可以选择向其中一个项目中添加新测试,也可以创建一个新的测试项目。 有关测试项目的更多信息,请参见如何:为数据库单元测试创建测试项目。
创建数据库单元测试有两个选项:
在新测试类中创建新的数据库单元测试。
给定测试类中的所有数据库单元测试都将使用相同的 TestInitialize 和 TestCleanup 脚本。 如果您希望自己的单元测试使用与其他单元测试不同的 TestInitialize 和 TestCleanup 脚本,请创建一个新的测试类。 有关更多信息,请参见数据库单元测试中的脚本。
在现有测试类中创建新的数据库单元测试。
如果您希望自己的单元测试使用该类中的其他单元测试相同的 TestInitialize 和 TestCleanup 脚本,请选择此选项。
在新测试类中创建数据库单元测试
在**“测试”菜单上,单击“新建测试”**。
- 或 -
在**“解决方案资源管理器”中右击某个测试项目,指向“添加”,再单击“新建测试”**。
随即出现**“添加新测试”**对话框。
在**“模板”下单击“数据库单元测试”**。
在**“测试名称”**下输入测试的名称。
在**“添加到测试项目”**下,选择该测试要添加到的测试项目。
- 或 -
如果不存在测试项目,或者您希望创建一个新的测试项目,请选择**“创建新的 <语言> 测试项目”**。
单击**“确定”**。
如果测试项目是新的或者尚未进行配置,将出现**“项目 <项目名称> 配置”**对话框。 在该对话框中,可以为测试项目配置以下信息:
用于执行测试的数据库连接。
用于验证测试结果、部署数据库和生成数据的数据库连接。
在运行单元测试之前,是否将数据库项目以及任何关联的架构更改自动部署到给定的项目配置中。
要在运行单元测试之前运行的数据生成计划。
有关更多信息,请参见如何:配置数据库单元测试执行。
提供项目配置信息,然后单击**“确定”**。
- 或 -
单击**“取消”**在不配置测试项目的情况下创建单元测试。
将在**“数据库单元测试设计器”**中出现一个空测试。 系统会向测试项目中添加 Visual Basic 或 C# 源代码文件,具体取决于您指定的用于创建测试项目的语言。 此文件中包含 Visual Studio 高级专业版为刚刚创建的单元测试生成的数据库单元测试类。 此测试类中可以包含一个或多个单元测试,这些单元测试可通过数据库单元测试设计器或者通过代码作为新测试方法添加到测试类中。
当在解决方案资源管理器中选择该文件中,该文件将在默认情况下显示在数据库单元测试设计器中。 要查看代码,或者对它们进行自定义,以便向单元测试中添加更多的功能,请选择并右击该文件,然后选择**“查看代码”**。
在现有测试类中创建数据库单元测试
在**“数据库单元测试设计器”**中打开现有的数据库单元测试类。
在导航栏中单击加号(“+”)。
将出现**“为数据库测试指定一个名称”**对话框。
键入一个名称,再单击**“确定”**。
新的数据库单元测试将出现在导航栏中的下拉列表中, 它还作为新的测试方法添加到测试类中。 要查看测试方法的代码,请选择类文件,右击它,然后选择**“查看代码”。 当前测试类文件的名称将显示在“数据库单元测试设计器”**顶部的选项卡上。
在配置了测试项目并创建了单元测试之后,接下来执行下列步骤:
定义预先测试和后期测试操作。
添加 Transact-SQL 测试脚本。
添加测试条件或其他断言语句以验证脚本结果。
提示
“没有结论”测试条件是添加到每个测试中的默认条件。 包括该测试条件是为了指示尚未实施测试验证。 添加了其他测试条件后,从测试中删除此测试条件。 有关更多信息,请参见如何:向数据库单元测试中添加条件。