我在文本文件中輸出了Invoke-sqlcmd
。如何在PowerShell中檢查文件中的字符串
我需要檢查輸出的字失敗或失敗,如果它的發現,我需要打破
這裏是我的代碼:
$var=Get-Content "C:\JenkinsDrops\TRGDB0632 tSQLt Report.txt"
$count = 0
foreach($item in $var -match "Failure"){
$count=$count+1
out-host $item.ToString()
}
輸出看起來是這樣的:
[PayrollUnitTests].[test sp_GetEmployeePaySlipPayElements_Basic] failed: (Failure) Unexpected/missing resultset rows!
|_m_|Descn |Units|Rate |Amount|Category |isGross|
+---+--------------------------+-----+-----+------+---------+-------+
|< |Tronc Payment Caffe |0 |77.96|77.96 |Payment |False |
|= |Back Of House Tronc Caffe |1 |27.29|27.29 |Deduction|False |
|= |Champneys Springs Salaried|0 |0 |0.89 |Deduction|False |
|= |Hour Caffe |31 |7.2 |223.2 |Payment |False |
|= |NI |0 |0 |8.18 |Deduction|False |
|= |Tax |0 |0 |12.4 |Deduction|False |
|> |Tronc Payment Caffe |1 |77.96|77.96 |Payment |False |
+----------------------+
|Test Execution Summary|
+----------------------+
|No|Test Case Name |Dur(ms)|Result |
+--+----------------------------------------------------------------+-------+-------+
|1 |[PayrollUnitTests].[test fn_GetEmployeeBradfordFactor] | 413|Success|
|2 |[PayrollUnitTests].[test sp_GetEmployeeDetailsforPreview] | 220|Success|
|3 |[PayrollUnitTests].[test sp_GetEmployeesDetailsForCalc] | 520|Success|
|4 |[PayrollUnitTests].[test sp_GetP11DetailsForEmployee] | 290|Success|
|5 |[PayrollUnitTests].[test sp_UpdateEmployeeP11FromCalc] | 306|Success|
|6 |[PayrollUnitTests].[test sprc_BACS_UpdateBACSStatus] | 130|Success|
|7 |[PayrollUnitTests].[test sp_GetEmployeePaySlipPayElements_Basic]| 333|Failure|
單詞「失敗」或「失敗」的任何發生意味着tSQLt單元TE sts失敗並且部署到QA無法繼續
要做到這一點的最佳方法是什麼?