利用PowerShell进行数据库部署冒烟测试

本文介绍了如何利用PowerShell中的Pester测试框架对数据库部署进行冒烟测试。通过编写SQL语句校验数据库对象,确保其正确部署。重点在于分批处理SQL语句和检查执行结果。测试结果可与Jenkins集成,提升测试效率和持续集成质量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

PowerShell是一种命令行外壳程序和脚本环境,使命令行用户和脚本编写者可以利用 .NET Framework的强大功能,也可以调用Azure。在Win10里面附带PowerShell V5,PowerShell也能够容易地集成到Jenkins里面。

本文要解决的问题:

数据库部署之后进行冒烟测试,确保相应的对象,比如表,存储过程,视图,具体数据等等已经部署到位,避免到了后续集成测试时与其它错误混杂在一起,减少Root Cause的时间。

解决方案:

  1. 利用PowerShell里面的Pester测试框架,Pester提供了一个用来在PowerShell内部通过单元测试执行和验证PowerShell命令的框架。Pester遵循一个文件命名规范:命名的测试可以在测试时被自动发现,和一套简单的函数集,Pester相当于是PowerShell的xUnit。
  2. 用户只需专注在写好SQL语句来校验数据库,注意2个要点:
    I. 以分号;作为一批次Sql语句的分隔
    II. Sql语句执行返回有记录,为正确

比如如下


-- check newly deployed
SELECT * from sys.all_objects where name = 'td_searchbyname' and create_date > dateadd(MI, -10, getdate());
-- check deployed and no current modification
SELECT * from sys.all_objects where name = 'td_searchbyemail' and modify_date < dateadd(MI, -10, getdate());
SELECT * FROM TABLE123 WHERE FIELDA = 'EXPECTEDVALUE' AND FIELDB = 'FFFF';

-- check output of query procedure is the expected value, with several lines
create table #TempTable1(name VARCHAR(50) PRIMARY KEY, quanti
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值