как исправить «ошибку от lcovParse: «Не удалось разобрать строку»? на CircleICI v2.0 с использованием комбинезона с мокко

CircleCI терпит неудачу, когда пытается запустить эту команду:

#!/bin/bash --login
cat ./coverage/coverage.json | ./node_modules/.bin/adana --format lcov | ./node_modules/coveralls/bin/coveralls.js

[error] "2019-02-20T20:22:50.695Z"  'error from lcovParse: ' 'Failed to parse string'
[error] "2019-02-20T20:22:50.697Z"  'input: ' '\n'
[error] "2019-02-20T20:22:50.697Z"  'error from convertLcovToCoveralls'

/home/ubuntu/Band-of-Coders/uber-auth/node_modules/coveralls/bin/coveralls.js:18
        throw err;
        ^
Failed to parse string
Exited with code 1

вот как я запускаю свои тесты:

./node_modules/.bin/_mocha -r test/helper/chai.js -r adana-dump --compilers js:babel-core/register -R spec --recursive --slow 100 test/spec/**/*.spec.js

В моем .circleci/config.yml у меня есть:

 - run: npm test
 - run: npm install coveralls
 - run: cat ./coverage/coverage.json | ./node_modules/.bin/adana --format lcov | ./node_modules/coveralls/bin/coveralls.js

любые мысли о том, почему это происходит? Я очень ценю любую помощь


person Manuel Castro    schedule 21.02.2019    source источник
comment
Я столкнулся с похожей проблемой, надеюсь, что этот пост может вам немного помочь. stackoverflow.com /вопросы/60362121/   -  person Zdravko Kolev    schedule 07.01.2021


Ответы (1)


Возможно, вам придется использовать nyc с babel-plugin-istanbul или просто istanbul для создания данных о покрытии перед запуском сценария отчета о покрытии. В противном случае не было бы доступных данных для создания отчета.

Раньше я использовал nyc с babel-plugin-istanbul и получил ожидаемые результаты.

"test": "NODE_ENV=test nyc ./node_modules/.bin/_mocha <your-test-matching-wildcard-here>",
"coveralls": "NODE_ENV=test nyc report --reporter=text-lcov | coveralls"

Вам также потребуется некоторая конфигурация в вашем .nycrc:

{
  "reporter"   : ["text", "text-summary", "lcov", "html"],
  "include"    : ["<your-include-wildcard>"],
  "exclude"    : ["<your-exclude-wildcard>"],
  "require"    : ["@babel/register"],
  "sourceMap"  : false,
  "instrument" : false,
  "all"        : true
}

Сначала запустите тестовый сценарий, затем комбинезон.

person John Mutuma    schedule 06.07.2019