如何:调试数据库对象
数据库单元测试由以下几部分组成:
一个或多个用 C# 或 Visual Basic 编写的测试条件。 要调试测试条件,请按照如何:在运行测试时进行调试 中所述的过程,调试单元测试。
一个或多个 Transact-SQL 脚本,这些脚本可针对所测试的数据库中的对象运行。 不能调试这些 Transact-SQL 脚本。
本主题中的过程介绍如何调试特定的数据库对象,如存储过程、函数和触发器。 要调试数据库对象,请按顺序执行以下过程:
对测试项目启用 SQL Server 调试。
向 Transact-SQL 脚本中添加断点。
调试数据库单元测试。 在该过程中,测试是在调试模式下运行的。
对测试项目启用 SQL 调试
打开**“解决方案资源管理器”**。
在**“解决方案资源管理器”中,右击测试项目,再单击“属性”**。
将打开一个与测试项目同名的属性页。
在该属性页上单击**“调试”**。
在**“启用调试器”下单击“启用 SQL Server 调试”**。
保存更改。
设置执行上下文超时以便对测试项目启用调试
在**“文件”菜单上,指向“打开”,再单击“文件”**。
浏览至包含测试项目的文件夹,再双击其中的 app.config 文件。
app.config 文件将在编辑器中打开。
修改 ExecutionContext 节点以添加命令超时,如下面的示例所示:
<ExecutionContext CommandTimeout ="300" Provider="System.Data.SqlClient" ConnectionString="Data Source=TargetServerName\TargetInstanceName;Initial Catalog=TargetDatabaseName;Integrated Security=True;Pooling=False" />
保存更改。
重新生成数据库单元测试项目。
重要事项 |
---|
如果不重新生成项目,那么,当您运行数据库单元测试时,对 app.config 所做的更改将不会应用,而且调试将失败。 |
向 Transact-SQL 脚本中添加断点
在**“视图”菜单上打开“服务器资源管理器”**。
在**“数据连接”**下,展开与要测试的数据库相对应的节点。
如果该数据库的图标旁边显示一个红色的小“x”,则说明到该数据库的连接已关闭。 在这种情况下,右击该数据库,再单击**“刷新”**。 可能必须提供凭据才能打开到该数据库的连接。
展开**“视图”、“存储过程”或“函数”**节点找到要调试的对象。
双击要调试的对象。
单击灰色侧栏以设置断点。
调试数据库单元测试
打开**“测试视图”**窗口。
单击其 Transact-SQL 脚本使用设置了断点的数据库对象的测试。
在**“测试视图”窗口的工具栏上,单击“调试选定内容”**。
测试将在调试模式下运行,直到遇到了数据库对象中的断点。
(可选)要打开另一个调试窗口,请打开**“调试”菜单,指向“窗口”,然后单击“断点”、“输出”或“即时”**。