Pull to refresh

Comments 5

Чтобы не допустить merge pull(merge) request’а в основную ветку репозитория при деградации покрытия

Мы у себя SonarQube не используем, а банально в CircleCI запускаем Jest и заливаем HTML отчет о покрытии, как артефакт билда. А для предотвращения мерджа при снижении покрытия просто задаём пороговые значения в конфиге Jest'а

Спасибо за комментарий. В этом случаи какой механизм будет блокировки ПРа будет, поясните, пожалуйста?

Обычная проверка:


Require status checks to pass before merging
Choose which status checks must pass before branches can be merged into a branch that matches this rule. When enabled, commits must first be pushed to another branch, then merged or pushed directly to a branch that matches this rule after status checks have passed

Это, как понимаю, настройка CI. Но что за правило? Как jest говорит, что произошла деградация покрытия? Для этого же надо сравнить покрытие с предыдущим значением...

Нет, это не специфическая настройка CI, а просто Jest завершается с кодом 1.
Задается это в конфиге Jest (в нашем случае — секция в package.json):


"jest": {
    "verbose": true,
    "testPathIgnorePatterns": [
      "/__tests__/mocks/",
      "/__tests__/setup.js",
      "/config"
    ],
    "setupFilesAfterEnv": [
      "./__tests__/setup.js"
    ],
    "transform": {},
    "collectCoverage": false,
    "coverageThreshold": {
      "global": {
        "branches": 68,
        "functions": 95,
        "lines": 94,
        "statements": 93
      }
    },
    "collectCoverageFrom": [
      "**/src/**/*.js",
      "!**/src/index.js",
      "!**/src/app.js",
      "!**/src/lib/service-factory.js"
    ]
  }

Когда мы добавляем новые тесты, то разработчик повышает thresholds (хоть это и не обязательно)


А "Require status checks to pass before merging" — это в настройках бранчей Github. Сам Github не дает мерджить, если упали тесты по какой-либо причине

Sign up to leave a comment.