问题
当我通过 PowerShell 为 Baseline Branch 运行 Karma 时,Environment::Exit(1)如果结果中有任何失败的测试,PowerShell 的反应方式与执行的方式相似。这会导致 Jenkins 构建在不运行其余组件的情况下过早失败。我想绕过这个,以便作业仅在出现合法问题时失败,在针对目标分支(包含代码更改的分支)运行业力时发现失败的测试,或者新行的代码覆盖率低于所需的最小值.
背景
我正在与 Jenkins、PowerShell 和 Karma 合作,为 Web 应用程序提供代码覆盖率测试。在 Jenkins 中,我有一个执行 karma 的 PowerShell 任务:
在作业中,我检查了两个分支(一个用作基线,另一个包含代码/测试更新)。我恢复所有 NuGet 包,然后构建基线分支的解决方案。接下来,我运行 karma 来获取当前的覆盖率。然后我为目标分支构建解决方案,然后运行 Karma 以获取代码覆盖率。使用 SonarQube,我正在比较结果以提供新的线路覆盖。
我已经尝试过的事情:
- 加入
-ErrorAction SilentlyContinue - 调查质量门
- 查找文档
karma start - 在命令末尾添加
| $true和|| $truekarma start
代码示例
& $nodePath $karmaPath start $karmaTest --log-level debug
$nodePath只是 node.exe 的文件路径
$karmaPath只是业力的文件路径
$karmaTest是 karma.conf.ci.js 文件的文件路径