Plyson
DocumentationJSON Reference

Test Suites

Reference for top-level fields in *.test.json files.

A test suite is the primary container for your API tests. It groups related test cases together and can define shared variables and hooks.

Fields

  • $schema (Optional): Points to the test suite schema for Intellisense.
  • title (Required): A descriptive name for the suite.
  • tags (Required): An array of strings used for filtering (e.g., ["smoke", "user"]). These tags are automatically available to every test case within this suite.
  • description (Optional): A summary of what this suite covers.
  • disabled (Optional): Set to true to skip all test cases in this suite.
  • variables (Optional): Suite-level variables that override global and environment scopes.
  • annotations (Optional): Playwright-compatible annotations for the suite. Use a string shorthand ("skip", "fixme"), an object with type and optional description, or an array of either form. Suite-level skip and fixme annotations affect the suite container, and custom annotation types are propagated to each child test case in the report. For more details, see Playwright annotations.
  • mode (Optional): Overrides the project default for this suite. Use parallel or sequential.
  • beforeAll (Optional): An array of test steps or script references that run once before any test cases in this suite.
  • afterAll (Optional): An array of test steps or script references that run once after all test cases in this suite.
  • testCases (Required): An array of Test Case objects.

CLI Command

Generate a new test suite boilerplate:

npx plyson generate suite <name>

Example

{
  "$schema": "../Project-schema/testsuite.schema.json",
  "title": "Auth API",
  "tags": ["smoke"],
  "annotations": [
    { "type": "fixme", "description": "Pending contract update" },
    { "type": "team", "description": "payments" }
  ],
  "mode": "sequential",
  "variables": {
    "BASE_AUTH_PATH": "/auth"
  },
  "testCases": []
}

On this page