UNPKG

@cucumber/cucumber

Version:

The official JavaScript implementation of Cucumber.

55 lines (54 loc) 2.75 kB
import { EventEmitter } from 'node:events'; import * as messages from '@cucumber/messages'; import { IdGenerator } from '@cucumber/messages'; import { JsonObject } from 'type-fest'; import { ITestCaseHookParameter, SupportCodeLibrary } from '../support_code_library_builder/types'; import TestCaseHookDefinition from '../models/test_case_hook_definition'; import TestStepHookDefinition from '../models/test_step_hook_definition'; import { IDefinition } from '../models/definition'; import { RunStepResult } from './step_runner'; export interface INewTestCaseRunnerOptions { workerId?: string; eventBroadcaster: EventEmitter; gherkinDocument: messages.GherkinDocument; newId: IdGenerator.NewId; pickle: messages.Pickle; testCase: messages.TestCase; retries: number; skip: boolean; filterStackTraces: boolean; supportCodeLibrary: SupportCodeLibrary; worldParameters: JsonObject; } export default class TestCaseRunner { private readonly workerId; private readonly attachmentManager; private currentTestCaseStartedId; private currentTestStepId; private readonly eventBroadcaster; private readonly gherkinDocument; private readonly newId; private readonly pickle; private readonly testCase; private readonly maxAttempts; private readonly skip; private readonly filterStackTraces; private readonly supportCodeLibrary; private testStepResults; private world; private readonly worldParameters; constructor({ workerId, eventBroadcaster, gherkinDocument, newId, pickle, testCase, retries, skip, filterStackTraces, supportCodeLibrary, worldParameters, }: INewTestCaseRunnerOptions); resetTestProgressData(): void; getBeforeStepHookDefinitions(): TestStepHookDefinition[]; getAfterStepHookDefinitions(): TestStepHookDefinition[]; getWorstStepResult(): messages.TestStepResult; invokeStep(step: messages.PickleStep, stepDefinition: IDefinition, hookParameter?: ITestCaseHookParameter): Promise<RunStepResult>; isSkippingSteps(): boolean; shouldSkipHook(isBeforeHook: boolean): boolean; aroundTestStep(testStepId: string, runStepFn: () => Promise<messages.TestStepResult>): Promise<void>; run(): Promise<messages.TestStepResultStatus>; runAttempt(attempt: number, moreAttemptsRemaining: boolean): Promise<boolean>; runHook(hookDefinition: TestCaseHookDefinition, hookParameter: ITestCaseHookParameter, isBeforeHook: boolean): Promise<messages.TestStepResult>; runStepHooks(stepHooks: TestStepHookDefinition[], pickleStep: messages.PickleStep, stepResult?: RunStepResult): Promise<messages.TestStepResult[]>; runStep(pickleStep: messages.PickleStep, testStep: messages.TestStep): Promise<RunStepResult>; }