为数据库对象自动生成单元测试 ——Visual Studio 2019&2022(amd64)扩展

目录

介绍

目的

范围

启动自动生成数据库单元测试扩展

“数据库设置”对话框

“数据库对象”对话框

多个数据库架构对象

单元测试编辑器窗口

Visual Studio Test Explorer

保存项目

保存的项目文件示例


介绍

本文档详细概述了自动生成的数据库单元测试 ADUT)应用程序中可供用户使用的功能。它描述了为各自的数据库对象自动生成单元测试所涉及的过程和操作:

  1. 存储过程(包括多个输出)
  2. 内联函数
  3. 标量函数
  4. 视图
  5. 计算字段

下载Visual Studio 2019扩展

下载Visual Studio 2022扩展

下载后,双击以安装(关闭您可能已打开的任何Visual Studio实例)。安装完成后,当您下次打开Visual Studio时,扩展将安装并可供使用。

目的

用户指南提供了使用新ADUT应用程序的全面分步指南。它旨在传达最终用户可用的重要功能。

范围

本文档的范围是方便地传达 ADUT 解析应用程序的功能。

启动自动生成数据库单元测试扩展

Visual Studio IDE中,选择扩展数据库单元测试生成器配置面板菜单选项,以打开配置面板。

数据库设置对话框

在这里,用户将输入他们希望对其生成单元测试的(临时)数据库的连接字符串。用户可以在控制面板中测试其连接字符串。

选择数据库类型、测试框架和所选编程语言。

注意:如果任何存储过程要输出多个数据集,则连接字符串属性必须用MultipleActiveResultSets=True(请参阅上面的连接字符串)进行修饰。

连接字符串凭据必须与数据库中的视图定义组相关联,以便应用程序可以从其架构重构数据库对象。

还可以选择将SQL脚本与单元测试的初始化拆卸方法相关联,这些方法与类和/或单个单元测试方法相关联。

加载选项将允许用户检索以前保存的控制面板设置(项目可以在生成单元测试对话框阶段保存)。

用户单击连接按钮后,将解析数据库架构,并显示相应的数据库对象供用户选择。

数据库对象对话框

从这里,用户可能希望为所有可用的数据库对象创建单元测试,或者精细地选择一组特定的对象来生成单元测试。

底部的复选框适用于任何数据库表中的计算字段,这将为每个表的每个计算字段生成一个测试。

通过单击生成单元测试按钮,将自动生成测试并显示在编辑器窗口中。

多个数据库架构对象

应用程序将选取连接字符串有权访问的不同架构,以便你可以使用单元测试将数据库的某些方面作为目标。

单元测试编辑器窗口

从这里,用户可以将完整生成的单元测试类复制到剪贴板或突出显示特定的单元测试和复制。

注意:应用程序将生成要传递到存储过程中的虚拟值,用户必须重新配置需要传入的实际值,以便在执行ssertions 时使单元测试正常运行。

用户可以向后导航并重新选择要为其生成单元测试的数据库对象。只需将测试复制到单元测试类项目中,然后可以使用测试资源管理器执行该项目。

Visual Studio Test Explorer

在下面,您可以看到从自动生成的数据库编辑器窗口复制到C# MSTest类中的单元测试。

注意对于Visual Studio 2022,您需要为MSTest项目添加NuGet System.Data.Sqlclient 进行编译。

使用测试资源管理器,用户可以验证其测试是否按预期工作,然后将单元测试项目签入其代码存储库,该代码存储库可针对其持续集成管道执行。

保存项目

单击保存按钮将提示用户选择一个目标文件夹来保存项目文件(以后可以加载)。

保存的项目文件示例

在下面,您可以看到从应用程序中保存的属性,当用户想要针对数据库再次重新生成测试时,可以再次重新导入这些控制面板设置。

https://www.codeproject.com/Articles/5351226/Autogenerate-Unit-Tests-For-Your-Database-Objects

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值