cover 0.5.1 copy "cover: ^0.5.1" to clipboard
cover: ^0.5.1 copied to clipboard

A simple and efficient tool for comprehensive code coverage analysis.

cover 🎯 #

Cover pub.dev badge cover codecov

cover es la forma más sencilla y robusta de verificar la cobertura de tu código Dart/Flutter directamente desde la terminal o tus scripts.

✨ Características #

  • 📊 Reportes Claros: Genera una tabla elegante con el resumen de cobertura por archivo.
  • 🚀 Ideal para CI/CD: Devuelve códigos de salida (exit codes) para fallar pipelines si la cobertura es insuficiente.
  • 🔍 Líneas Faltantes: Muestra exactamente qué números de línea te faltan por probar con --show-uncovered.
  • 🧹 Filtros Inteligentes: Ignora archivos generados (.g.dart, .freezed.dart, etc.) con un solo flag.
  • 🤖 Salida JSON: Perfecto para integraciones con otras herramientas.
  • 🛡️ Seguro: Protección contra inyecciones ANSI y manejo de errores robusto.

📦 Instalación #

Uso Global (Recomendado) #

dart pub global activate cover

Como Dependencia de Desarrollo #

Añádelo a tu pubspec.yaml:

dev_dependencies:
  cover: ^0.5.1

🚀 Uso desde CLI #

# Verificación básica (busca coverage/lcov.info por defecto)
$ cover check

# Configurar un mínimo de cobertura y mostrar líneas no cubiertas
$ cover check --min-coverage 90 --show-uncovered

# Ignorar archivos generados y excluir carpetas específicas
$ cover check --exclude-generated --excluded-paths "lib/generated, lib/src/legacy"

# Obtener salida en formato JSON
$ cover check --json

Flags Disponibles #

Flag Abbr Descripción Por defecto
--path -p Ruta al archivo lcov.info coverage/lcov.info
--min-coverage -m Porcentaje mínimo requerido 100.0
--show-uncovered -u Muestra los números de líneas no cubiertas false
--exclude-generated Ignora archivos .g.dart, .freezed.dart, etc. false
--excluded-paths -e Rutas separadas por coma a excluir ""
--json -j Salida en formato JSON false

🛠️ Uso Programático #

Puedes integrar cover directamente en tu lógica de Dart:

import 'package:cover/cover.dart';

void main() async {
  final service = CoverageService();
  
  final result = await service.checkCoverage(
    filePath: 'coverage/lcov.info',
    minCoverage: 80.0,
    excludeGenerated: true,
  );

  print('Cobertura total: ${result.coverage}%');
}

📸 Ejemplo de Salida #

🤝 Contribuciones e Issues #

Si encuentras un error o tienes una idea, abre un issue en nuestro rastreador de problemas.

2
likes
160
points
209
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

A simple and efficient tool for comprehensive code coverage analysis.

Repository (GitHub)
View/report issues

License

BSD-3-Clause (license)

Dependencies

args, cli_completion, dart_console, lcov_parser, path, pubspec_parse

More

Packages that depend on cover