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

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

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" у меня не сработало, однако пример исполняемого кода можно увидеть на странице 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));
Другие вопросы по тегам