/** * Test Reporter Utilities * * Formats verification results in standard test output formats * for CI/CD integration (JUnit XML, TAP, JSON). */ import type { VerificationResult } from '../types/verification.js'; /** * Test case for reporting */ export interface TestCase { name: string; url: string; passed: boolean; duration: number; verification?: VerificationResult; error?: string; } /** * Test suite for reporting */ export interface TestSuite { name: string; timestamp: Date; tests: TestCase[]; } /** * JUnit XML Reporter * * Generates JUnit XML format compatible with: * - GitHub Actions * - Jenkins * - CircleCI * - GitLab CI * - Azure DevOps */ export declare class JUnitReporter { /** * Generate JUnit XML from a test suite */ static generate(suite: TestSuite): string; /** * Create a test case from a browse result */ static createTestCase(name: string, url: string, verification: VerificationResult | undefined, duration: number, error?: string): TestCase; /** * Create a test suite */ static createSuite(name: string, tests: TestCase[]): TestSuite; private static escapeXml; private static formatFailureDetails; private static formatVerificationDetails; } /** * TAP (Test Anything Protocol) Reporter * * Simple text format supported by many test tools */ export declare class TAPReporter { /** * Generate TAP output from a test suite */ static generate(suite: TestSuite): string; } /** * JSON Reporter * * Structured JSON output for custom processing */ export declare class JSONReporter { /** * Generate JSON output from a test suite */ static generate(suite: TestSuite): string; } /** * Console Reporter * * Human-readable console output with colors (when supported) */ export declare class ConsoleReporter { /** * Generate console output from a test suite */ static generate(suite: TestSuite, useColors?: boolean): string; } /** * Generate test report in specified format */ export declare function generateTestReport(suite: TestSuite, format?: 'junit' | 'tap' | 'json' | 'console'): string; //# sourceMappingURL=test-reporter.d.ts.map