2017-09-15 30 views
0

我創建一個腳本,將在開發服務器上執行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"` 

在控制檯輸出:

enter image description here

和(詳細)結果輸出到文本文件是這樣的: enter image description here

之前,我們觸發下一步,我們必須確保所有的單元測試通過,所以這個詞Failure不能出現在輸出結果文件中,字failed不能在控制檯輸出中。

我該如何檢查,或者有更好,更正確的方法來做到這一點?

回答

0

只是從控制檯輸出中假設,目前無法測試,但try-catch塊可以工作。

try { 
    Invoke-Sqlcmd ... 
} 
catch { 
    # Output a error and exit script? 
} 

最終,您需要將-ErrorAction Stop添加到Invoke-Sqlcmd。

+0

那麼事情總是有迴應,我需要檢查單詞「失敗」的反應, –

相關問題