Задача
Когда я запускаю Karma через PowerShell для базовой ветки, PowerShell реагирует аналогично, как если бы Environment::Exit(1)
было выполнено, если в результатах есть какие-либо неудачные тесты. Это приводит к преждевременному сбою сборки Jenkins без запуска остальных компонентов. Я хочу обойти это так, что задание не будет выполнено, только если возникнет законная проблема, найдены неудачные тесты при запуске кармы для целевой ветви (ветвь, содержащая изменения кода), или процент покрытия кода для новых строк ниже требуемого минимума .
Фон
Я работаю с Jenkins, PowerShell и Karma, чтобы обеспечить тестирование покрытия кода для веб-приложения. В Jenkins у меня есть задача PowerShell, которая выполняет карму следующим образом:
В задании я проверяю две ветви (одна служит базой, другая содержит обновления кода / теста). Я восстанавливаю все пакеты NuGet, затем строю решение Baseline Branch. Затем я запускаю карму, чтобы получить текущее освещение. Затем я создаю решение для Target Branch, а затем запускаю Karma для получения покрытия кода. Используя SonarQube, я сравниваю результаты, чтобы обеспечить покрытие новой линии.
Вещи, которые я уже пробовал:
- добавление
-ErrorAction SilentlyContinue
- заглядывая в качественные ворота
- поиск документации по
karma start
- добавление
| $true
и || $true
в конец команды karma start
Пример кода
& $nodePath $karmaPath start $karmaTest --log-level debug
$nodePath
- это просто путь к файлу node.exe
$karmaPath
это просто путь к файлу кармы
$karmaTest
- путь к файлу karma.conf.ci.js