Существует некоторая схожесть между моим вопросом и Как измерить общее покрытие для компонентов Polymer + файлы .js? .Тем не менее, он принимается как ответ «разделить на файлы .js и включить его в компоненты», чтобы использовать wct-istanbul, и все мои веб-компоненты и тесты находятся в файлах .html (javascript находится внутри каждого файла .html).
Мой прямой вопрос: могу ли я по-прежнему использовать wct-istambul, чтобы проверить, сколько из моего кода покрыто тестами?Если так, что не так в конфигурации, описанной ниже?Если нет, планируется ли wct-istanbub заменить wct-istanbul для полимерных проектов?
package.json
"polyserve": "^0.18.0",
"web-component-tester": "^6.0.0",
"web-component-tester-istanbul": "^0.10.0",
...
wct.conf.js
var path = require('path');
var ret = {
'suites': ['test'],
'webserver': {
'pathMappings': []
},
'plugins': {
'local': {
'browsers': ['chrome']
},
'sauce': {
'disabled': true
},
"istanbul": {
"dir": "./coverage",
"reporters": ["text-summary", "lcov"],
"include": [
"/*.html"
],
"exclude": [
],
thresholds: {
global: {
statements: 100
}
}
}
}
};
var mapping = {};
var rootPath = (__dirname).split(path.sep).slice(-1)[0];
mapping['/components/' + rootPath + '/bower_components'] = 'bower_components';
ret.webserver.pathMappings.push(mapping);
module.exports = ret;
Ну, я попробовал WCT-istanbub (https://github.com/Bubbit/wct-istanbub), который выглядит как временный обходной путь ( Покрытие кодаприложения Polymer с WCT ), он работает.
wct.conf.js
"istanbub": {
"dir": "./coverage",
"reporters": ["text-summary", "lcov"],
"include": [
"**/*.html"
],
"exclude": [
"**/test/**",
"*/*.js"
],
thresholds: {
global: {
statements: 100
}
}
}
...
, и в результате получается ... chrome 66 RESPONSE quit () chrome 66 BrowserRunner completeТестовый запуск завершился с большим успехом
chrome 66 (2/0/0)
=============================== Coverage summary ===============================
Statements : 21.18% ( 2011/9495 )
Branches : 15.15% ( 933/6160 )
Functions : 18.08% ( 367/2030 )
Lines : 21.14% ( 2001/9464 )
================================================================================
Coverage for statements (21.18%) does not meet configured threshold (100%)
Error: Coverage failed