PowerShell的 - 调用-SQLCMD:如何检查结果
问题描述:
我创建一个脚本,将在开发服务器上执行tSQLt单元测试部署ØQA才能继续 - 这是持续集成的一部分......PowerShell的 - 调用-SQLCMD:如何检查结果
这里是我的PowerShell脚本:
param(
[Parameter(Mandatory=$true)][string]$DatabaseName
, [Parameter(Mandatory=$true)][string]$UserName
, [Parameter(Mandatory=$true)][string]$Password
)
$filelocation = "c:\jenkinsdrops"
$DatabaseServer = "Server\DEV"
Invoke-Sqlcmd `
-Query "EXEC tSQLt.RUNALL" `
-ServerInstance $DatabaseServer `
-Database $DatabaseName `
-U $UserName `
-Password $Password `
-Verbose 4>"$Filelocation\$DatabaseName tSQLt Report.txt"`
在控制台输出:
之前,我们触发下一步,我们必须确保所有的单元测试通过,所以这个词Failure
不能出现在输出结果文件中,字failed
不能在控制台输出中。
我该如何检查,或者有更好,更正确的方法来做到这一点?
答
只是从控制台输出中假设,目前无法测试,但try-catch块可以工作。
try {
Invoke-Sqlcmd ...
}
catch {
# Output a error and exit script?
}
最终,您需要将-ErrorAction Stop添加到Invoke-Sqlcmd。
那么事情总是有回应,我需要检查单词“失败”的反应, –