【发布时间】:2017-04-04 11:16:23
【问题描述】:
我找到了 lcov-parse 工具来解析 lcov 信息文件。我怎么能用它。此链接中解释的用法:https://github.com/davglass/lcov-parse/blob/master/README.md 不清楚。我需要知道在哪里可以使用代码来解析和提取信息。
【问题讨论】:
标签: code-coverage gcov lcov
我找到了 lcov-parse 工具来解析 lcov 信息文件。我怎么能用它。此链接中解释的用法:https://github.com/davglass/lcov-parse/blob/master/README.md 不清楚。我需要知道在哪里可以使用代码来解析和提取信息。
【问题讨论】:
标签: code-coverage gcov lcov
README.md 链接的使用部分中描述的代码说明了如何在 javascript 中调用该工具(我添加了额外的 cmets):
// 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 这里是解析成 JSON 对象的 lcov 文件。
运行它:
1) 先用npm安装lcov-parse工具:
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));
【讨论】: