metatests
Version:
Simple to use test engine for Metarhia technology stack
45 lines (35 loc) • 866 B
TypeScript
import { Runner } from './runner';
import * as events from 'events';
export interface TestContext {}
interface TestOptions<C extends TestContext = {}, R extends Runner = Runner> {
id: number;
todo: boolean;
context: C;
runner: R;
}
interface TestResult {}
interface TestMetadata {
filepath: string;
}
export class Test<
R extends TestResult = TestResult,
O extends TestOptions = TestOptions,
M extends TestMetadata = TestMetadata,
>
extends events.EventEmitter
{
public caption: string;
public results: R[];
public done: boolean;
public succeeded: boolean | undefined;
public options: O;
public id: number;
public todo: boolean;
public output: string;
public context: O['context'];
public metadata: M;
log(...args: any[]): void;
get success(): boolean;
erroer(type: string, error?: Error): void;
end(): void;
}