本文档旨在为使用Autogenerated DB Unit Tests (ADUT)应用程序的用户提供一个详细的功能概览。它描述了自动生成数据库对象单元测试的过程和操作,包括存储过程(包括多个输出)、内联函数、标量函数、视图和计算字段。
用户可以通过以下链接下载Visual Studio 2019或2022的扩展:
下载完成后,双击安装文件(如果Visual Studio正在运行,请先关闭)。安装完成后,下次打开Visual Studio时,扩展将已安装并准备使用。
本用户指南提供了使用ADUT应用程序的详细步骤指南,旨在传达最终用户可用的重要功能。
本文档的范围是方便地传达ADUT解析应用程序的功能。
在Visual Studio IDE中,选择“扩展 → 数据库单元测试生成器 → 配置面板”菜单选项,以打开配置面板。
在这里,用户将输入他们希望生成单元测试的(暂存)数据库的连接字符串。用户可以在控制面板中测试他们的连接字符串。选择数据库类型、测试框架和首选的编程语言。
注意:如果任何存储过程要输出多个数据集,连接字符串属性必须包含MultipleActiveResultSets=True
(见上面的连接字符串)。
连接字符串的凭据必须与数据库中的“视图定义”组关联,以便应用程序可以从其模式中重构数据库对象。
还有选项将SQL脚本与单元测试的初始化和清理方法关联,这些方法与类和/或单个单元测试方法相关联。
“加载”选项将允许用户检索之前保存的控制面板设置(项目可以在生成单元测试对话框阶段保存)。
用户点击“连接”按钮后,数据库架构将被解析,相应的数据库对象将显示出来供用户选择。
从这里,用户可能希望为所有可用的数据库对象创建单元测试,或者精细选择一组特定的对象来生成单元测试。
底部的复选框是用于数据库表中的“计算字段”,这将为每个表的每个计算字段生成一个测试。
点击“生成单元测试”按钮后,测试将自动生成并显示在编辑器窗口中。
应用程序将识别连接字符串可以访问的不同架构,因此可以针对数据库的某些方面进行单元测试。
从这里,用户可以将完整的生成的单元测试类复制到剪贴板,或者突出显示特定的单元测试并复制。
注意:应用程序将生成虚拟值以传递给存储过程,用户将需要重新配置实际需要传递的值,以便在执行断言时单元测试能够正常工作。
用户可以导航回并重新选择数据库对象以生成单元测试。测试可以简单地复制到单元测试类项目中,然后可以使用测试资源管理器执行。
下面,可以看到从Autogenerated DB编辑器窗口复制到C# MSTest类的单元测试。
注意:对于Visual Studio 2022,需要为MSTest项目添加NuGet包System.Data.SqlClient
才能编译。
使用测试资源管理器,用户可以验证他们的测试是否按预期工作,然后将单元测试项目检入他们的代码库,可以在持续集成管道中执行。
点击“保存”按钮将提示用户选择一个目标文件夹以保存项目文件(可以稍后加载)。