Покрытие кода для испытаний транспортира в приложении Angular 5 - PullRequest
0 голосов
/ 15 мая 2018

У меня есть приложение angular-cli с транспортиром.Я хочу создать отчет о покрытии кода для транспортира.

https://www.npmjs.com/package/grunt-protractor-coverage не может использовать это в моем проекте.

https://www.npmjs.com/package/protractor-istanbul-plugin заметил, что это нене работает с файлом машинописи.

Есть ли способ создать покрытие кода для тестовых случаев Protractor e2e с приложением Angular 5?

1 Ответ

0 голосов
/ 06 июля 2019

Некоторое время я искал ответ для того же сценария, но не существует прямого решения для комплектов инструментов, сгенерированных с помощью задания углового сечения (ng build).

Есть два способа добиться этого -

  1. Мы можем использовать конфигурацию веб-пакета istanbul-instrumenter-loader с использованием customWebpackConfig - подходит, если вы используете Angular 8.
  2. Мы можем сгенерировать webpack (по ng eject), тогда мы сможем добиться этого с помощью плагина webpack - istanbul-instrumenter-loader.- подходит, если вы используете Angular 5. В Angular CLI 6 ng eject -команда была удалена, и она не возвращается.

Шаги: -

  1. Комплект инструментов пользователя с использованием customWebpackConfig или webapck & istanbul-instrumenter-loader
    1. ref-http://opensourceforgeeks.blogspot.com/2018/12/how-to-customize-build-configuration.html
    2. ref- https://webpack.js.org/loaders/istanbul-instrumenter-loader/#with-babel
  2. Запустите ваш испытательный костюм e2e / IT на инструментированном комплекте
  3. Соберите ваше покрытие в Стамбуле (window.__ coverage__) json из контекста браузера и сохраните его как coverage.json файл.
  4. Генерируйте просматриваемый отчет, используя комментарии istanbul istanbul report (istanbul должен быть установлен глобально), он создаст папку coverage/lcov-report с файлами html для просмотраотчет о покрытии кода для каждого файла.
...