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.
yarn add -D jest-allure
or
npm install --save-dev jest-allure
Jest-allure doesn't support jest-circus. (but PR's are welcome)
As starting from jest@27 it uses jest-circus as default testrunner you must update jest.config.js and set:
"testRunner": "jest-jasmine2"
Then add jest-allure/dist/setup
to setupFilesAfterEnv
section of your config.
setupFilesAfterEnv: ["jest-allure/dist/setup"]
reporters: ["default", "jest-allure"],
Run your tests and enjoy 🥤🚀
You need to install the CLI in order to obtain 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
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
import { Severity } from "jest-allure/dist/Reporter";
import { Feature } from "somwhere in your project";
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");
});
...
}
);
jest-allure
reporter dynamically configure "setupTestFrameworkScriptFile" option in Jest configuration.
If you have your own setupTestFrameworkScriptFile file, you need to manually register allure reporter, for it you need to import jest-allure/dist/setup.
import "jest-allure/dist/setup";
In case if you have jest version > 24 just add jest-allure/dist/setup
to setupFilesAfterEnv
section of your config.
Denis Artyuhovich |
Dmitry Bogomya |
---|