allure-jest
TypeScript icon, indicating that this package has built-in type declarations

2.15.1 • Public • Published

allure-jest

Allure framework integration for Jest

Allure Report logo


Warning If you are using jest@<27.0.0 use allure-jasmine package or consider to use jest-circus as a test runner with this package.

The integration doesn't work with custom runners. If you want to use the integration use jest-circus as a test runner.

Installation

Use your favorite node package manager to install required packages:

npm add -D allure-jest allure-js-commons

If you're using jest for testing node add following line to your jest.config.js file:

/** @type {import('jest').Config} */
const config = {
+  testEnvironment: "allure-jest/node",
+  testEnvironmentOptions: {
+    resultsDir: "./allure-results"
+  }
}

module.exports = config

If you're using jest for testing browser code (jsdom) add next to your jest.config.js file:

/** @type {import('jest').Config} */
const config = {
+  testEnvironment: "allure-jest/jsdom",
+  testEnvironmentOptions: {
+    resultsDir: "./allure-results"
+  }
}

module.exports = config

Use Allure runtime Api

The plugin provides custom global commands which allow to add additional info inside your tests:

it("my test", () => {
  allure.attachment(currentTest.id(), screenshot, "image/png");
  allure.epic(currentTest.id(), "my_epic");
  allure.parameter(currentTest.id(), "parameter_name", "parameter_value", {
    mode: "hidden",
    excluded: false,
  });
});

Links usage

it("basic test", () => {
  allure.link("https://allurereport.org", "Allure Report"); // link with name
  allure.issue("Issue Name", "https://github.com/allure-framework/allure-js/issues/352");
});

You can also configure links formatters to make usage much more convenient. %s in urlTemplate parameter will be replaced by given value.

/** @type {import('jest').Config} */
const config = {
  testEnvironment: "allure-jest/node",
  testEnvironmentOptions: {
    resultsDir: "./allure-results",
+    links: [
+      {
+        type: "issue",
+        urlTemplate: "https://example.org/issues/%s"
+      },
+      {
+        type: "tms",
+        urlTemplate: "https://example.org/tasks/%s"
+      },
+      {
+        type: "custom",
+        urlTemplate: "https://example.org/custom/%s"
+      },
+    ]
  }
}

module.exports = config

Then you can assign link using shorter notation:

it("basic test", () => {
  allure.issue("Issue Name", "352");
  allure.tms("Task Name", "352");
  allure.link("352", "Link name", "custom");
});

Package Sidebar

Install

npm i allure-jest

Weekly Downloads

12,546

Version

2.15.1

License

Apache-2.0

Unpacked Size

35 kB

Total Files

20

Last publish

Collaborators

  • qameta-bot