gpt4 book ai didi

powershell - PowerShell错误处理: how to resolve if error occurs in first or middle of the script?

转载 作者:行者123 更新时间:2023-12-03 08:09:14 24 4
gpt4 key购买 nike

我在PowerShell中调用了一个bat文件,并在PowerShell中给出了一个条件,如果失败,它将显示一条消息“失败”,如果通过则它将显示一条消息“通过”。我的bat文件包含单元测试用例,因此如果所有测试用例都通过了,我在Powershell中获得了一条消息“通过”,并且如果所有测试用例都失败了,或者在bat文件中最后一个测试用例都失败了,我得到了一条消息“失败”,但是如果我的第一个通过,我没有得到显示消息“失败”测试因此,如果第一个测试“失败”,第二个测试“通过”,而不是获取失败消息,那么我正在获取通过消息。我使用了条件$ LASTEXITCODE,它将给出测试(通过/失败)状态的最后状态。有什么办法可以解决这个问题,这将非常有用。
demo.bat

@echo off
echo "running test cases"
call npm run test folder1/file1/validate.test.js
call npm run test folder1/file2/validate.test.js
test.ps1
Write-Output "starting script......"
.\demo.bat
if ($LASTEXITCODE -gt 0) {
Write-Output "Failed"
}
else {
Write-Output "Passed"
}

最佳答案

以下代码段应返回失败的部分测试的计数:

@echo off
set "scriptError=0"
echo "running test cases"
call npm run test folder1/file1/validate.test.js
if errorlevel 1 set /a scriptError+=1
call npm run test folder1/file2/validate.test.js
if errorlevel 1 set /a scriptError+=1
exit /B %scriptError%
但是,您可以将 scriptError变量构造为二进制文件,以便它显示哪个部分测试失败了并且不仅计数……(提示:如果第一个测试失败,则添加 1;为第二个测试添加 2;为第三个测试添加4;…如果为第一个测试,则添加 2^(n-1)第n次测试失败。)

关于powershell - PowerShell错误处理: how to resolve if error occurs in first or middle of the script?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62738274/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com