You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell遍历执行dotnet test时如何累加所有返回码并返回

PowerShell测试脚本修改方案

修改后完整脚本

$exitCode = 0
Get-ChildItem -Path . -Recurse -Include *.Tests.csproj | ForEach-Object {
    dotnet test $PSItem.FullName
    $exitCode += $LASTEXITCODE
}
exit $exitCode

核心逻辑说明

  • 初始化总退出码变量$exitCode为0,用于累加所有测试命令的返回值
  • 遍历每个测试项目执行dotnet test命令,每次执行完成后读取PowerShell内置变量$LASTEXITCODE获取本次命令的返回码,累加到总退出码中
  • 所有测试项目全部执行完成后,通过exit命令显式返回累加后的总退出码,供CI系统识别执行状态:只要存在任意测试项目执行失败,总退出码必然为非零值
  • 执行过程不会因为单个项目测试失败中断,保证所有测试项目都能运行完成

原脚本无法返回非零值的原因:PowerShell管道内执行的外部命令,其非零退出码不会自动透传到脚本层级,遍历结束后脚本默认返回最后一条执行状态为成功的命令的返回值0,无法反映中间步骤的失败情况。

内容的提问来源于stack exchange,提问作者Rick de Water

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 18:54:24