lcov 6.0.0 lcov: ^6.0.0 copied to clipboard
Parse and format to LCOV your code coverage reports. The best way to share your code coverage stats.
// ignore_for_file: avoid_print
import "dart:convert";
import "dart:io";
import "package:lcov/lcov.dart";
/// Formats coverage data as LCOV report.
void formatReport() {
final lineCoverage = LineCoverage(2, 2, [
LineData(6, executionCount: 2, checksum: "PF4Rz2r7RTliO9u6bZ7h6g"),
LineData(7, executionCount: 2, checksum: "yGMB6FhEEAd8OyASe3Ni1w")
]);
final record = Record("/home/cedx/lcov.dart/fixture.dart")
..functions = FunctionCoverage(1, 1)
..lines = lineCoverage;
final report = Report("Example", [record]);
print(report);
}
/// Parses a LCOV report to coverage data.
Future<void> parseReport() async {
try {
final coverage = await File("/path/to/lcov.info").readAsString();
final report = Report.fromCoverage(coverage);
print("The coverage report contains ${report.records.length} records:");
print(const JsonEncoder.withIndent("\t").convert(report));
}
on LcovException catch (e) {
print("An error occurred: ${e.message}");
}
}