46 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| export interface ITapSettings {
 | |
|   // Timing
 | |
|   timeout?: number;              // Default timeout for all tests (ms)
 | |
|   slowThreshold?: number;        // Mark tests as slow if they exceed this (ms)
 | |
|   
 | |
|   // Execution Control
 | |
|   bail?: boolean;                // Stop on first test failure
 | |
|   retries?: number;              // Number of retries for failed tests
 | |
|   retryDelay?: number;           // Delay between retries (ms)
 | |
|   
 | |
|   // Output Control
 | |
|   suppressConsole?: boolean;     // Suppress console output in passing tests
 | |
|   verboseErrors?: boolean;       // Show full stack traces
 | |
|   showTestDuration?: boolean;    // Show duration for each test
 | |
|   
 | |
|   // Parallel Execution
 | |
|   maxConcurrency?: number;       // Max parallel tests (for .para files)
 | |
|   isolateTests?: boolean;        // Run each test in fresh context
 | |
|   
 | |
|   // Lifecycle Hooks
 | |
|   beforeAll?: () => Promise<void> | void;
 | |
|   afterAll?: () => Promise<void> | void;
 | |
|   beforeEach?: (testName: string) => Promise<void> | void;
 | |
|   afterEach?: (testName: string, passed: boolean) => Promise<void> | void;
 | |
|   
 | |
|   // Environment
 | |
|   env?: Record<string, string>;  // Additional environment variables
 | |
|   
 | |
|   // Features
 | |
|   enableSnapshots?: boolean;     // Enable snapshot testing
 | |
|   snapshotDirectory?: string;    // Custom snapshot directory
 | |
|   updateSnapshots?: boolean;     // Update snapshots instead of comparing
 | |
| }
 | |
| 
 | |
| export interface ISettingsManager {
 | |
|   // Get merged settings for current context
 | |
|   getSettings(): ITapSettings;
 | |
|   
 | |
|   // Apply settings at different levels
 | |
|   setGlobalSettings(settings: ITapSettings): void;
 | |
|   setFileSettings(settings: ITapSettings): void;
 | |
|   setTestSettings(testId: string, settings: ITapSettings): void;
 | |
|   
 | |
|   // Get settings for specific test
 | |
|   getTestSettings(testId: string): ITapSettings;
 | |
| } |