UNPKG

agentic-qe

Version:

Agentic Quality Engineering Fleet System - AI-driven quality management platform

117 lines 2.7 kB
/** * CoverageCollector - Real Implementation * @module coverage/coverage-collector * @description Collects code coverage data during test execution using c8/nyc */ export interface CoverageData { lines: { total: number; covered: number; percentage: number; }; branches: { total: number; covered: number; percentage: number; }; functions: { total: number; covered: number; percentage: number; }; statements: { total: number; covered: number; percentage: number; }; } export interface FileCoverage { path: string; coverage: CoverageData; uncoveredLines: number[]; uncoveredBranches: Array<{ line: number; branch: number; }>; } export interface CoverageCollectorConfig { tool?: 'c8' | 'nyc' | 'auto'; tempDir?: string; include?: string[]; exclude?: string[]; reporter?: string[]; } /** * Real implementation of CoverageCollector using c8/nyc */ export declare class CoverageCollector { private coverage; private config; private isCollecting; private coverageDir; constructor(config?: CoverageCollectorConfig); /** * Starts coverage collection */ start(): Promise<void>; /** * Stops coverage collection */ stop(): Promise<void>; /** * Executes tests with coverage collection */ executeWithCoverage(testCommand: string, args?: string[]): Promise<{ exitCode: number; coverage: FileCoverage[]; }>; /** * Detects which coverage tool to use */ private detectTool; /** * Runs tests with coverage tool */ private runWithCoverageTool; /** * Builds coverage tool arguments */ private buildCoverageArgs; /** * Loads coverage data from JSON file */ private loadCoverageData; /** * Parses Istanbul coverage map */ private parseCoverageMap; /** * Parses file coverage data */ private parseFileCoverage; /** * Collects coverage for a specific file */ collect(filePath: string): Promise<FileCoverage>; /** * Gets all collected coverage data */ getData(): FileCoverage[]; /** * Gets total coverage summary */ getTotalCoverage(): CoverageData; /** * Merges coverage from multiple sources */ mergeCoverage(otherCoverages: FileCoverage[]): Promise<void>; /** * Resets coverage data */ reset(): void; /** * Cleans up temporary coverage files */ cleanup(): Promise<void>; } //# sourceMappingURL=coverage-collector.d.ts.map