должен ли я заменить wct-istanbul на WCT-istanbub, чтобы оценить, сколько полимерных веб-компонентов проходит тестирование - PullRequest
0 голосов
/ 11 июня 2018

Существует некоторая схожесть между моим вопросом и Как измерить общее покрытие для компонентов 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;

enter image description here

Ну, я попробовал 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
...