Использование Lcov-parse неясно

Я нашел инструмент lcov-parse для анализа информационного файла lcov. Как я мог его использовать. Использование объясняется по этой ссылке: https://github.com/davglass/lcov-parse/blob/master/README.md не ясен. Мне нужно знать, где я могу использовать код для анализа и извлечения информации.


person R.Omar    schedule 04.04.2017    source источник


Ответы (1)


Код, описанный в разделе Использование в Ссылка README.md иллюстрирует, как вызвать инструмент в javascript (я добавил дополнительные комментарии):

// Include the lcov-parse dependency, installed via npm
var parse = require('lcov-parse');

// Specify the path to the file to parse,
// the file contents are parsed into a JSON object, "data"
parse('./path/to/file.info', function(err, data) {
    // process the data here
    // e.g. write out to a string
});

Для запуска и вывода в командной строке описание в разделе Cli Usage у меня не сработало, однако пример исполняемого кода можно увидеть на странице проекта github в каталоге bin:

https://github.com/davglass/lcov-parse/blob/master/bin/cli.js

Содержимое этого файла:

#!/usr/bin/env node
var lcov = require('../lib/index.js');
var file = process.argv[2];

lcov(file, function(err, data) {
    if (err) {
      return console.error(err)
    }

    console.log(JSON.stringify(data));
});

Снова data вот файл lcov, преобразованный в объект JSON.

Чтобы запустить его:

1) Сначала установите инструмент lcov-parse с помощью npm:

npm install lcov-parse

В пустом каталоге будет создано несколько файлов, один из которых является приведенным выше примером javascript для запуска инструмента в командной строке:

./node_modules/lcov-parse/bin/cli.js

2) Скрипт можно запустить так:

./node_modules/lcov-parse/bin/cli.js ./path/to/lcovfile

Например. протестируйте его на файле покрытия lcov-parse:

./node_modules/lcov-parse/bin/cli.js ./node_modules/lcov-parse/coverage/lcov.info

3) Форматирование по умолчанию JSON.stringify трудно прочитать на глаз, его можно улучшить, добавив параметр интервала (например, 2 пробела):

console.log(JSON.stringify(data, null, 2));
person Almadeus    schedule 01.03.2018