1
コールバックが見つからない、またはPowerShellスクリプトでNUnitテストが終了しているかどうかを判断する良い方法はありません。私は以下の解決策を思いついたが、それは固いものではない。どのように私はこれについて行くだろう誰がより良いアイデアを持っている? または、NUnitに黒い魔法がありますか?
ありがとうございます!PowerShellでNUnitテストの実行が完了しているかどうかを確認します
#SLN1: Could check TestResults.xml file length and loop until we're sure tests have ran
#- Then Send command to write to file in S3 Bucket. Then have server script check for a change to that bucket.
$NUNIT_EXE = "C:\Program Files (x86)\NUnit\NUnit.ConsoleRunner.3.7.0\tools\nunit3-console.exe\"
$TESTING_DLL = "C:\CITestFramework\bin\Debug\CITESTS.dll"
#NUnit3 places test results where tests are ran from, so go local
$TESTING_RESULT_FILE = "TestResult.xml"
Write-Host "Removing old test results."
If (Test-Path $TESTING_RESULT_FILE){
Remove-Item $TESTING_RESULT_FILE
}
Write-Host "Starting Tests..."
$PROCESS = Start-Process $NUNIT_EXE $TESTING_DLL
$count = 0
$prev_size = 0
$wait = 5
Do{
If (Test-Path $TESTING_RESULT_FILE){
$file = Get-Item $TESTING_RESULT_FILE
Write-Host "Size:",$file.Length
Write-Host "Prev Size:", $prev_size
if($file.Length -gt $prev_size){
$prev_size = $file.Length
$wait = 5
$count = 0
} else {
if($file.Length -eq $prev_size){
$count += 1
$wait = 15
}
}
}Else{
Write-Host "File Does Not Exist Yet..."
}
Start-Sleep -s $wait
}Until($count -eq 7)
Write-Host "Tests completed."
#//Write to S3 bucket
**スタートプロセスに「待機」を追加しても機能しません。 –
'&$ NUNIT_EXE $ TESTING_DLL; if($ LastExitCode -eq 0){...} '? –