0.2.0 • Published 6 years ago

@taskworld.com/jest-allure v0.2.0

Weekly downloads
240
License
MIT
Repository
github
Last release
6 years ago

Jest-Allure reporting plugin (Taskworld’s fork)

Note: This is Taskworld’s fork of jest-allure package. It is versioned independently from upstream and no support is provided for this package.

Our upstream contributions:

  • https://github.com/zaqqaz/jest-allure/pull/5 Fixes a problem where a test fails with “Your test suite must contain at least one test” when it() block is used outside describe(). Also change the semantics of suite and case in the generated report.

Add more power to your tests using Jest-Allure.

Easily generate nice reports at the end of the execution.

Allure Framework is a flexible lightweight multi-language test report tool that not only shows a very concise representation of what have been tested in a neat web report form, but allows everyone participating in the development process to extract maximum of useful information from everyday execution of tests.

Allure Report

Installation

yarn add -D jest-allure

or

npm install --save-dev jest-allure

add reporter to jest.config.js

reporters: ["default", "jest-allure"],

Run your tests and enjoy 🥤🚀


How to get a report

To see a report in browser, run in console

allure serve

If you want to generate html version, run in console

allure generate

Advanced features

You can add description, screenshots, steps, severity and lots of other fancy stuff to your reports.

Global variable reporter available in your tests with such methods:

    description(description: string): this;
    severity(severity: Severity): this;
    epic(epic: string): this;
    feature(feature: string): this;
    story(story: string): this;
    startStep(name: string): this;
    endStep(status?: Status): this;
    addArgument(name: string): this;
    addEnvironment(name: string, value: string): this;
    addAttachment(name: string, buffer: any, type: string): this;
    addLabel(name: string, value: string): this;
    addParameter(paramName: string, name: string, value: string): this;

Example

describe("Fancy test", () => {
        ...

        it("Test your amazing feature", async () => {
            reporter
                .description("Feature should work cool")
                .severity(Severity.Critical)
                .feature(Feature.Betting)
                .story("BOND-007");

            reporter.startStep("Check it's fancy");
            // expect that it's fancy
            reporter.endStep();

            reporter.startStep("Check it's cool");
            // expect that it's cool
            reporter.endStep();

            const screenshotBuffer = await page.screenshot();
            reporter.addAttachment("Screenshot", screenshotBuffer, "image/png");
        });

        ...
    }
);

What's next

  • Generate report from Jest results
  • Add steps support
  • Add labels support
  • Add attachments support
  • Add more examples

Warning

jest-allure reporter dynamically configure "setupTestFrameworkScriptFile" option in Jest configuration. If you have your own setupTestFrameworkScriptFile file, you need to manually register allure reporter.

import { registerAllureReporter } from "jest-allure/dist/setup";
...
registerAllureReporter();

Contributors

Denis ArtyuhovichDmitry Bogomya