ctrlshiftleft
Version:
AI-powered toolkit for embedding QA and security testing into development workflows
73 lines (72 loc) • 1.68 kB
TypeScript
import { EventEmitter } from 'events';
export interface TestRunnerOptions {
browser: string;
headless: boolean;
timeout: number;
reporter: string;
workers?: number;
filter?: string;
retries?: number;
verbose?: boolean;
updateSnapshots?: boolean;
}
export interface TestError {
message: string;
stack?: string;
testPath: string;
testName?: string;
}
export interface TestFileResult {
path: string;
passed: number;
failed: number;
skipped: number;
duration: number;
errors: TestError[];
tests: TestResult[];
}
export interface TestResult {
name: string;
status: 'passed' | 'failed' | 'skipped';
duration: number;
error?: TestError;
}
export interface TestResults {
total: number;
passed: number;
failed: number;
skipped: number;
duration: number;
fileResults: TestFileResult[];
errors: TestError[];
}
export declare class TestRunner extends EventEmitter {
private options;
constructor(options: TestRunnerOptions);
/**
* Run tests from a file or directory
* @param testPath Path to test file or directory
* @returns Test results
*/
runTests(testPath: string): Promise<TestResults>;
/**
* Run a chunk of test files in parallel
*/
private runTestsChunk;
/**
* Run tests from a single file
*/
private runTestFile;
/**
* Split an array into chunks for parallel processing
*/
private chunkArray;
/**
* Launch browser based on options
*/
private launchBrowser;
/**
* Get test files from a path (file or directory)
*/
private getTestFiles;
}