Socket
Socket
Sign inDemoInstall

allure-cucumberjs8

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

allure-cucumberjs8

Allure Cucumber.JS integration


Version published
Weekly downloads
8.2K
increased by5.29%
Maintainers
1
Weekly downloads
 
Created
Source

allure-cucumberjs

Allure integration for Cucumber.JS framework

Compatible with Cucumber.JS 3+ and Allure 2+

How to use

Create Reporter file:

export default class Reporter extends CucumberJSAllureFormatter {
  constructor(options) {
    super(
      options,
      new AllureRuntime({ resultsDir: "./allure-results" }),
      {
        labels: {
          epic: [/@feature:(.*)/],
          severity: [/@severity:(.*)/]
        },
        links: {
          issue: {
            pattern: [/@issue=(.*)/],
            urlTemplate: "http://localhost:8080/issue/%s"
          },
          tms: {
            pattern: [/@tms=(.*)/],
            urlTemplate: "http://localhost:8080/tms/%s"
          }
        }
      }
    );
  }
}

This class MUST:

  • Be a default export.
  • Extend CucumberJSAllureFormatter.
  • First super() argument is the first argument in the constructor.
  • Second super() argument is an AllureRuntime instance.
  • Third argument is a config object which allows:
    • Map tags to Allure labels.
    • Add links to external sites like JIRA, XRAY, etc. %s will be auto-replaced by the issue id. Example:
@issue=TEST-1
Scenario: Example for scenario issue link check
Then the issue link should be "http://localhost:8080/issue/TEST-1"

Then pass with reporter as a Cucumber formatter:

node cucumber.js --format ./path/to/Reporter.js

If you want to retain default formatter add some dummy file as output:

node cucumber.js --format ./path/to/Reporter.js:./dummy.txt
Reporter without classes

If you can not use classes (ES6 or TypeScript), here is an example of Reporter.js file written in plain JS:

const { CucumberJSAllureFormatter } = require("allure-cucumberjs");
const { AllureRuntime } = require("allure-cucumberjs");

function Reporter(options) {
  return new CucumberJSAllureFormatter(
    options,
    new AllureRuntime({ resultsDir: "./allure-results" }),
    {}
  );
}
Reporter.prototype = Object.create(CucumberJSAllureFormatter.prototype);
Reporter.prototype.constructor = Reporter;

exports.default = Reporter;

API

Instance of AllureInterface will be added to World prototype. You can use it for creating nested steps and adding info to the report.

Author

Ilya Korobitsyn mail@korobochka.org

Contributors

FAQs

Package last updated on 10 Apr 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc