jest-2-testrail

Jest based reporter for creating a new run and sending test results to TestRail

Usage no npm install needed!

<script type="module">
  import jest2Testrail from 'https://cdn.skypack.dev/jest-2-testrail';
</script>

README

TestRail v4.1

Jest2TestRail

This package allows you to use Jest in conjunction with TestRail.

  • It can automatically create a new test run on TestRail.
  • It can automatically send test results to TestRail - after they've been run.

(This package is based on a similar reporter for Protractor - Jasmine 2 testrail)

Install

npm i jest-2-testrail

Example - jest-config.js

The Reporter must be specified in the jest-config.js file, under 'reporters'.
This file should be created in your project's root folder.
Parameters are defined as 'project_id', which is the id of your project on TestRail,
and 'suite_id', which is the id of the suite that should be included in the test run.

module.exports = {
  moduleFileExtensions: ["js", "json", "ts"],
  rootDir: ".",
  testEnvironment: "node",
  testRegex: ".test.tsquot;,
  transform: { "^.+\\.(t|j)squot;: "ts-jest" },
  reporters: [
    "default",
    ["jest-2-testrail", { project_id: "1", suite_id: "1" }]
  ]
};

Example - tests

The Case ID from TestRail must be added to the start of each it() description,
and separated from the test name by a colon - ":".

describe("Login Page", () => {
  // "1:" this is Case ID from Test Rail
  it("1: Login success", async () => {
    expect(1).toBe(1);
  });

  it("2: Login fail", async () => {
    expect(1).toBe(0);
  });

  xit("3: Registration", async () => {
    expect(1).toBe(1);
  });
});

Note: The Case ID is a unique and permanent ID of every test case (e.g. C125),
and shoudn't be confused with a Test Case ID, which is assigned to a test case
when a new run is created (e.g. T325).

Example - .env file

This file needs to be created in your project's root folder.
It must contain the URL of your TestRail, username (email address) and password (or API key).
This file needs to have all 3 parameters correctly filled.

NETWORK_URL = https://<YourProjectURL>.testrail.io
USERNAME = email address
PASSWORD = password or API key

Enable TestRail API

In order to use TestRail API, it needs to be enabled by an administrator
in your own TestRail Site Settings. Also if you want to use API authentication instead of your password,
enable session authentication for API in the TestRail Site Settings,
and add an API key in your User settings (This is recommended).

Authors


Slobodan Dušanić

Željko Simić

Special thanks


Marko Rajević

Bogdan Petković

License

This project is licensed under the MIT License - see the LICENSE file for details.