Перейти к содержанию

Узнайте, какой объем кода вы тестируете

📅 17.01.2023

Angular CLI может запускать модульные тесты и создавать отчеты о покрытии кода. Отчеты о покрытии кода покажут вам все части вашей кодовой базы, которые не могут быть должным образом проверены вашими модульными тестами.

Если вы хотите поэкспериментировать с приложением, которое описано в этом руководстве, запустите его в браузере или скачайте и запустите его локально.

Чтобы сгенерировать отчет о покрытии, выполните следующую команду в корне вашего проекта.

1
ng test --no-watch --code-coverage

После завершения тестов команда создает в проекте новый каталог /coverage. Откройте файл index.html, чтобы увидеть отчет с вашим исходным кодом и значениями покрытия кода.

Если вы хотите создавать отчеты о покрытии кода при каждом тестировании, установите следующий параметр в файле конфигурации Angular CLI, angular.json:

1
2
3
4
5
"test": {
  "options": {
    "codeCoverage": true
  }
}

Обеспечение покрытия кода

Проценты покрытия кода позволяют вам оценить, какая часть вашего кода протестирована. Если ваша команда решила установить минимальный объем, который должен быть протестирован, обеспечьте соблюдение этого минимума с помощью Angular CLI.

Например, предположим, вы хотите, чтобы кодовая база имела минимум 80% покрытия кода. Чтобы это обеспечить, откройте файл конфигурации тестовой платформы Karma, karma.conf.js, и добавьте свойство check в ключ coverageReporter:.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
coverageReporter: {
  dir: require('path').join(__dirname, './coverage/<project-name>'),
  subdir: '.',
  reporters: [
    { type: 'html' },
    { type: 'text-summary' }
  ],
  check: {
    global: {
      statements: 80,
      branches: 80,
      functions: 80,
      lines: 80
    }
  }
}

Подробнее о создании и тонкой настройке конфигурации Karma читайте в руководстве по тестированию.

Свойство check заставляет инструмент обеспечивать покрытие кода не менее 80% при выполнении модульных тестов в проекте.

Подробнее о параметрах конфигурации покрытия читайте в документации по покрытию кармы.

Комментарии