2017-01-18 7 views
6

Как измерить общее покрытие для полимерных компонентов со всеми .js файлами в решении (для некомпонентных тестов используется QUnit)?Как измерить общее покрытие для полимерных компонентов + .js файлов?

Я пробовал karma-coverage, но он работает только для .js файлов.

ответ

1

Для полимерных компонентов существует решение для измерения общего покрытия с помощью karma-coverage: разделение на .js-файлы и их включение в компоненты. Примером может служить here

2

Для Polymer вы обычно используете web-component-tester (WCT) для тестирования своих компонентов и плагина web-component-tester-istanbul для покрытия кода. Вы бы настроить wct.conf.json в корневом каталоге вашего проекта с чем-то вроде этого:

{ 
    "suites": [ 
    "test/components/my-view1/my-view1.html" 
    ], 
    "plugins": { 
    "istanbul": { 
     "dir": "./build/coverage", 
     "reporters": [ 
     "text-summary", 
     "lcov" 
     ], 
     "include": [ 
     "*.js", 
     "*.html" 
     ], 
     "exclude": [] 
    } 
    } 
} 

, а затем запустить wct, который выдает что-то вроде этого:

enter image description here

К сожалению, недавнее обновление в ДАП сделал плагин охвата incompatible, так что плагин никогда не вызывается, поэтому покрытие всегда отображается как 100% (0/0) (никаких линий не видно, линий не видно).

+0

Спасибо, я знаю о ДАП и нашел этот вопрос на GitHub HTTPS://github.com/thedeeno/web-component-tester-istanbul/issues/38, возможно, я могу использовать предыдущую версию. Но вы пытались измерить охват wct для всех .js-файлов в решении? (не только для полимерных компонентов) –

+1

Да, это проблема, с которой я связан. :) Мне не повезло с предыдущими версиями WCT с 'istanbul'. Мне было бы интересно узнать о вашем опыте, особенно если вы заработаете. Да, я пытался измерять как '. .js', так и' * .html', как в скрипте внутри 'html' файлов (см. Настройку' include' в config). – tony19

+0

Для некомпонентных тестов я использую QUnit, но он не поддерживается в WCT, поэтому последний вариант - разделение компонентов на .js-файл и .html-файл, как в ответе ниже –

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