UNPKG

@serenity-js/jasmine

Version:

Serenity/JS test runner adapter for Jasmine, enabling the use of the Screenplay Pattern in Jasmine-based test suites and leveraging Serenity/JS reporting capabilities

82 lines 2.77 kB
import { type Serenity } from '@serenity-js/core'; import type { RequirementsHierarchy } from '@serenity-js/core/lib/io/index.js'; import type { JasmineDoneInfo, JasmineReporter, JasmineStartedInfo, SpecResult, SuiteResult } from './jasmine/index.js'; /** * [Jasmine reporter](https://jasmine.github.io/tutorials/custom_reporter) that translates Jasmine-specific test events * to Serenity/JS events. */ export declare class SerenityReporterForJasmine implements JasmineReporter { private readonly serenity; private readonly requirementsHierachy; private static readonly errorMessagePattern; private describes; private currentSceneId; /** * @param {Serenity} serenity */ constructor(serenity: Serenity, requirementsHierachy: RequirementsHierarchy); jasmineStarted(info: JasmineStartedInfo): void; suiteStarted(result: SuiteResult): void; suiteDone(result: SuiteResult): void; specStarted(result: SpecResult): void; specDone(result: SpecResult): Promise<void>; jasmineDone(suiteInfo: JasmineDoneInfo): Promise<void>; /** * @private * @param {DomainEvent[]} events */ private emit; /** * @private * @param {SpecResult} spec * @returns {ScenarioDetails} */ private scenarioDetailsOf; /** * @private * @param {SuiteResult} result * @returns {TestSuiteDetails} */ private testSuiteDetailsOf; /** * @private * @returns {string} */ private currentFeatureNameFor; /** * @private * @param {string} itBlockDescription * @returns {string} */ private currentScenarioNameFor; /** * @private * @param {SpecResult | SuiteResult} result * @returns {Outcome} */ private outcomeFrom; /** * @private * @param {Expectation} failure * @returns {ProblemIndication} */ private failureOutcomeFrom; private errorFrom; private containsCorrectlySerialisedError; private containsIncorrectlySerialisedErrorWithErrorPropertiesInStack; private containsIncorrectlySerialisedError; /** * It seems like Jasmine mixes up serialisation and display logic, * which means that its "failure.stack" is not really an Error stacktrace, * but rather something along the lines of: * "error properties: AssertionError: undefined" * where the error message is lost, and there's an "error properties:" prefix present. * * Probably caused by this: * https://github.com/jasmine/jasmine/blob/b4cbe9850fbe192eaffeae450669f96e79a574ed/src/core/ExceptionFormatter.js#L93 * * @param {Expectation} failure */ private repairedStackTraceOf; } //# sourceMappingURL=SerenityReporterForJasmine.d.ts.map