Информация о покрытии не собиралась, выход без записи информации о покрытии, покрытие в Стамбуле

Пожалуйста, кто-нибудь знает, как я могу решить эту проблему? У меня есть тест: покрытие определяется следующим образом.

scripts{
 "test:coverage": "babel-node ./node_modules/.bin/istanbul cover ./node_modules/.bin/_mocha ./src/_utils/__tests__/*.js"
}

и когда я бегу

npm run test:coverage

Мой мокко работает нормально, и все остальное в порядке. Но мое освещение в Стамбуле возвращает сообщение в заголовке в конце. Более того, моя папка покрытия остается пустой. Прочитав онлайн, я убедился, что мне нужно добавить .istanbul.yml файл. Затем я продолжаю и добавляю его ниже

verbose: false
instrumentation:
    root: ./node_modules/.bin/istanbul
    default-excludes: true
    excludes: []
    embed-source: false
    variable: __coverage__
    compact: true
    preserve-comments: false
    complete-copy: false
    save-baseline: false
    baseline-file: ./coverage/coverage-baseline.json
reporting:
    print: summary
    reports:
        - lcov
    dir: ./coverage
    watermarks:
        statements: [50, 80]
        lines: [50, 80]
        functions: [50, 80]
        branches: [50, 80]
hooks:
    hook-run-in-context: false
    post-require-hook: null

После того, как я снова запустил свой тест: покрытие, предыдущая ошибка Стамбула исчезла. Тем не менее, сообщение об отсутствии покрытия в заголовке по-прежнему остается, а папка с дополнительным покрытием по-прежнему остается пустой. Пожалуйста, где я ошибаюсь? Любая помощь будет оценена по достоинству.


person Nuru Salihu    schedule 26.01.2016    source источник


Ответы (4)


Пожалуйста, если вы столкнулись с подобной проблемой, знайте, что проблема связана с самим Стамбулом. Вам нужно установить babel-istanbul, а не istanbul. Мое покрытие: текст теперь такой, как показано ниже.

 "test:coverage": "babel-node ./node_modules/.bin/babel-istanbul cover ./node_modules/.bin/_mocha ./src/**/__tests__/*.js",

Также важно помнить и избавиться от файла .istanbul.yml. Вместо этого измените свой src на babel-istanbul . Я удалил свой файл .istanbul.yml и установил babel-istanbul . Он работает нормально.

person Nuru Salihu    schedule 26.01.2016

Примечание: по умолчанию istanbul исключает некоторые папки, такие как тест, тесты и node_modules. Если у вас есть сценарии в папке с таким именем, вы должны использовать --no-default-excludes, -i include-pattern и -x exclude-pattern для управления папкой, которую вы хотите включить или исключить.

пример:

istanbul cover --no-default-excludes --report=text -x '**/node_modules/**' _mocha test/*

person AmauryMejia    schedule 28.10.2016

это работает для меня с istanbul 1.0.0-alpha.2

babel-node ./node_modules/istanbul/lib/cli.js --include-all-sources cover ./node_modules/.bin/_mocha -- ./tests/ -R spec --recursive

найдено здесь: Running Mocha + Istanbul + Babel

person szilveszter    schedule 26.03.2016

Я сталкивался с проблемой, похожей на вашу, но это сработало, когда я переключился на [email protected] как за комментарий к их репозиторию

istanbul cover --include-all-sources --report lcov -- _mocha test/**/*.test.js -R spec --timeout=60000 --compilers js:babel-core/register
person Sridhar    schedule 31.01.2017