2016-09-19 2 views
1

У меня есть карма, созданная вместе с инструментом покрытия, который работает, но поскольку я также использую webpack, отчет о покрытии использует связанный код, созданный webpack.Карма, отчет о покрытии в сочетании с webpack

Например: У меня есть файл машинописного текста, который включает в себя внешнюю библиотеку, поэтому для запуска этого файла требуется webpack. Затем Webpack включает этот файл в скомпилированный JS. Это означает, что когда я получаю отчет о покрытии, его% низка, так как я не тестирую внешний файл, который теперь включен.

preprocessors: { 
      './src/**/*.ts': ['webpack', 'coverage'] 
     }, 

Если я либо удалить WebPack часть или поместить массив со наоборот ([ «охват», «WebPack»]) она выходит из строя.

Итак, я не уверен, что то, что мне нужно, возможно, так как без webpack и скомпилированного TS -> JS-файла не пройдут тесты. Его немного похоже на то, что я хочу, чтобы отчетность была выполнена в два этапа.

  1. Проведите тест против связанного кода и отчитайтесь.
  2. Проверьте тесты, которые были запущены и сопоставлены с не связанными файлами, чтобы получить точный отчет о покрытии.

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

ответ

-1

Прошло некоторое время - но я нашел хороший пример, который работал с тем, что я хотел и как я этого хотел. https://github.com/AngularClass/angular2-webpack-starter Это делает машинописный, карма, покрытие & Webpack.

Также - https://angularclass.github.io/angular2-webpack-starter/

+0

ссылки, как правило, умирают. Пожалуйста, включите решение в ответ. –

0

Вы можете попытаться использовать https://github.com/deepsweet/istanbul-instrumenter-loader, чтобы решить вашу проблему, загрузчик webpack, чтобы создать отчет о покрытии из несвязанного исходного js-файла.

Но плагин не поддерживает es6, вы можете обратиться к проблеме № 33, чтобы найти подходящие решения.

Смежные вопросы