Настройка целевого покрытия кода с помощью Karma/Istanbul

Я использую плагин Karma Maven с Karma-Coverage (Стамбул) для покрытия кода. Karma-Coverage, по-видимому, по умолчанию составляет 80% для требуемого (предлагаемого?) покрытия кода, однако я хочу обеспечить 90% покрытие кода в проекте. Однако я не могу понять, где это установить.

Есть ли способ обеспечить целевое покрытие кода с помощью Karma/Istanbul?


person Reni    schedule 24.06.2015    source источник


Ответы (2)


Это задокументировано в файле документации в репозитории. Найдите раздел о свойстве «проверить».

Это будет использоваться для настройки принудительного применения минимального порога для результатов покрытия. Если пороги не соблюдены, карма вернет неудачу. Пороги, если они указаны как положительное число, считаются минимально требуемыми процентами. Когда порог указан как отрицательное число, он представляет собой максимально допустимое количество непокрытых сущностей.

Например, statements: 90 означает, что минимальное покрытие операторов составляет 90%. statements: -10 подразумевает, что разрешено не более 10 непокрытых операторов.

global применяется ко всем файлам вместе, а each — к каждому отдельному файлу. Список файлов или шаблонов можно исключить из применения с помощью свойства exclude. Для каждого файла или шаблона пороговые значения для каждого файла могут быть переопределены с помощью свойства overrides.

coverageReporter: {
  check: {
    global: {
      statements: 50,
      branches: 50,
      functions: 50,
      lines: 50,
      excludes: [
        'foo/bar/**/*.js'
      ]
    },
    each: {
      statements: 50,
      branches: 50,
      functions: 50,
      lines: 50,
      excludes: [
        'other/directory/**/*.js'
      ],
      overrides: {
        'baz/component/**/*.js': {
          statements: 98
        }
      }
    }
  }
}

Если вы посмотрите на код, на который ссылается @MarcoCI, вы увидите, что karma выполняет довольно стандартное слияние параметров, что означает, что вам не нужно воссоздавать весь объект проверки. Только ценности, которые вам небезразличны. По умолчанию 0.

person SeanH    schedule 27.08.2015

Используйте параметр check в качестве @SeanH. отвечать.

person MarcoL    schedule 24.06.2015
comment
Свойство водяных знаков связано с пороговыми значениями для вывода репортера, а не с тем, что ваши тесты не пройдут, если пороговые значения не будут соблюдены. - person SeanH; 27.08.2015