@serenity-js/cucumber
Version:
Serenity/JS test runner adapter for seamless integration with any version of Cucumber.js, facilitating BDD-style test automation and leveraging Serenity/JS reporting capabilities
19 lines • 975 B
JavaScript
import { serenity } from '@serenity-js/core';
import { ModuleLoader, Version } from '@serenity-js/core/io';
import * as process from 'process';
import { createListener as createLegacyListener } from './listeners/legacy/index.js';
import { createListener as createMessagesListener } from './listeners/messages/index.js';
const cwd = process.cwd();
const loader = new ModuleLoader(cwd);
const version = loader.hasAvailable('@cucumber/cucumber')
? loader.versionOf('@cucumber/cucumber')
: loader.versionOf('cucumber');
/**
* Registers a Cucumber reporter that emits [Serenity/JS domain events](https://serenity-js.org/api/core-events/class/DomainEvent/)
* and informs Serenity/JS when test scenarios and Cucumber steps start, finish, and with what result.
*/
const listener = version.isAtLeast(new Version('7.0.0'))
? createMessagesListener(serenity, loader)
: createLegacyListener(serenity, loader);
export default listener;
//# sourceMappingURL=index.js.map