Проверьте низкий охват приложения Angular в конвейере Jenkins - PullRequest
1 голос
/ 04 апреля 2019

Когда мы хотим проверить покрытие кода Java-приложения, мы используем jacoco для генерации файла .exec и запускаем шаг Jenkins jacoco для обеспечения пороговых значений validatio, например:

def classPattern = '**/target/classes'
def execPattern = '**/target/**.exec'
def sourcePattern = '**/src/main/java'

def coverageThreshold = 50

jacoco changeBuildStatus: true, classPattern: classPattern, maximumLineCoverage: "$coverageThreshold", minimumLineCoverage: "$coverageThreshold", execPattern: execPattern, sourcePattern: sourcePattern
if (currentBuild.result != 'SUCCESS') {
    error 'JaCoCo coverage failed'
}

Я хотел бы сделать то же самое для приложения Angular, созданного из конвейера Jenkins, и принудительно завершить сборку, если указанный порог не достигнут.

На этапе конвейера выполняю Угловые испытания:

sh "ng test --code-coverage"

Создает отчет lcov покрытия кода в coverage/lcov.info

Как я могу проверить покрытие сейчас? Есть ли какой-то шаг Дженкинса, эквивалентный jacoco(), который я могу использовать для этого?

1 Ответ

0 голосов
/ 10 апреля 2019

junit шаг должен захватить их.

Вот пример

Jenkinsfile

stage('Unit Test') {
  agent {
    docker 'circleci/node:9.3-stretch-browsers'
  }
  steps {
    unstash 'node_modules'
    sh 'yarn test:ci'
    junit 'reports/**/*.xml'
  }
}

Пряжа

{
  "test:ci": "ng test --config karma.conf.ci.js --code-coverage --progress=false"
}
...