Allure framework integration for Jest
- Learn more about Allure Report at https://allurereport.org
- 📚 Documentation – discover official documentation for Allure Report
- ❓ Questions and Support – get help from the team and community
- 📢 Official annoucements – be in touch with the latest updates
- 💬 General Discussion – engage in casual conversations, share insights and ideas with the community
Warning If you are using
jest@<27.0.0
useallure-jasmine
package or consider to usejest-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.
Use your favorite node package manager to install the package:
npm add -D allure-jest
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
The plugin provides custom global commands which allow to add additional info inside your tests:
import { attachment, epic, parameter } from "allure-js-commons";
it("my test", async () => {
await attachment(currentTest.id(), screenshot, "image/png");
await epic(currentTest.id(), "my_epic");
await parameter(currentTest.id(), "parameter_name", "parameter_value", {
mode: "hidden",
excluded: false,
});
});
import { link, issue } from "allure-js-commons";
it("basic test", async () => {
await link("https://allurereport.org", "Allure Report"); // link with name
await 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",
+ nameTemplate: "Issue: %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:
import { issue, tms, link } from "allure-js-commons";
it("basic test", async () => {
await issue("Issue Name", "352");
await tms("Task Name", "352");
await link("352", "Link name", "custom");
});