angular cli исключить файлы / каталог для `ng test --code-охват`

Я запускаю следующую команду для модульного тестирования и создания отчета о покрытии кода кода.

ng test --code-coverage

Он работает нормально и пишет отчет о покрытии кода в папке coverage.

В этом я получил отчет о покрытии всех файлов и каталогов.

введите описание изображения здесь

Но я хочу исключить определенные файлы / каталог, скажем src/app/quote/services/generated. Как это сделать?


person Partha Sarathi Ghosh    schedule 15.02.2017    source источник
comment
обновить с помощью кода, который показывает данные этой таблицы.   -  person Aravind    schedule 15.02.2017
comment
Код для табличных данных отсутствует. Это отчет об освещении, созданный репортером Karma Istanbul Coverage Reporter. Команда, которой я поделился, создает отчет.   -  person Partha Sarathi Ghosh    schedule 15.02.2017
comment
Может ли кто-нибудь помочь.   -  person Partha Sarathi Ghosh    schedule 22.02.2017
comment
Привет, @ParthaSarathiGhosh, у меня похожие проблемы. В моем случае у меня есть файлы спецификаций, и я хочу пропустить эти файлы и, таким образом, получить покрытие кода без них.   -  person Tanzeel    schedule 27.04.2020


Ответы (2)


Обновлено в сентябре 2019 г.

В Angular CLI 6 файл angular-cli.json был переименован в angular.json, который содержит конфигурацию. В angular.json, codeCoverage ожидает логическое значение, которое устанавливает, должно ли выполняться покрытие кода при каждом запуске теста или нет. Чтобы исключить файлы из покрытия кода, есть свойство codeCoverageExclude, которое принимает массив файлов, которые нужно исключить из покрытия кода.

angular.json

"test": {
  "codeCoverageExclude": ["src/assets/vendor/**"],,
  ...
}

Обновленный ответ

rc.0 был выпущен. Вы должны иметь возможность добавить приведенный ниже фрагмент кода, чтобы игнорировать файлы.

Оригинальный ответ

В настоящее время вы не можете сделать это в beta.32.3. Грядут изменения, которые позволят этому случиться. В следующем выпуске (вероятно, rc.0) вы сможете делать следующее:

.angular-cli.json

"test": {
  "codeCoverage": {
    "exclude": [
      "src/app/quote/services/generated/**/*"
    ]
  },
  ...
}
person delasteve    schedule 23.02.2017
comment
Большое спасибо за информацию. Как вы узнали об этом? Есть ли план выпуска. Пожалуйста, разместите ссылку здесь. - person Partha Sarathi Ghosh; 24.02.2017
comment
Я предложил решение, которое в конечном итоге реализовал Филипе Силва. набор изменений уже находится в master. Он будет в следующем выпуске CLI, независимо от того, называется он beta.33 или RC.0. Следующий выпуск CLI произойдет после того, как Angular достигнет RC.0. - person delasteve; 24.02.2017
comment
@ParthaSarathiGhosh RC.0 был выпущен. Если вы обновите свой проект, вы сможете использовать мой ответ. - person delasteve; 25.02.2017
comment
Вот вопрос аналогичного типа для ng lint. Пожалуйста, посмотри, сможешь ли ты мне помочь. stackoverflow.com/ questions / 42507838 / - person Partha Sarathi Ghosh; 28.02.2017
comment
Для более новых версий Angular (я думаю, 6 и выше) см. Другой ответ в этом вопросе. теперь вместо этого codeCoverageExclude! - person CBarr; 16.05.2019
comment
@delasteve знаете ли вы, как исключить все файлы, заканчивающиеся на .action.ts, потому что ваш ответ зависит от папки? поправьте меня если я ошибаюсь. спасибо заранее - person rosiejaneenomar; 01.04.2020
comment
codeCoverageExclude должен находиться внутри test.options, как указано @Greg в другом ответе - person atwright147; 23.12.2020

С последним CLI внутри angular.json

  "test": {
          "builder": "@angular-devkit/build-angular:karma",
          "options": {
            "main": "src/test.ts",
            "polyfills": "src/polyfills.ts",
            "tsConfig": "src/tsconfig.spec.json",
            "karmaConfig": "./karma.conf.js",
            "codeCoverageExclude": ["src/testing/**/*"],
person Greg    schedule 14.05.2018