allure-codeception icon indicating copy to clipboard operation
allure-codeception copied to clipboard

Add support for selective test run with a test plan

Open delatrie opened this issue 1 year ago • 0 comments

There is a general mechanism used by Allure adapters to run tests selectively. It uses a test plan - a .json file with the following schema:

{
    "type": "object",
    "properties": {
        "tests": {
            "type": "array",
            "items": {
                "type": "object",
                "properties": {
                    "id": { "type": "string" },
                    "selector": { "type": "string" }
                }
            }
        }
    }
}

A path to a test plan is provided as a value of the ALLURE_TESTPLAN_PATH environment variable.

If a valid test plan file is provided, only matched tests should be run. A test is matched if there is at least one entry in the tests array, such that:

  1. If the id property is present in the entry AND the test has an Allure ID (added via the allure_id or as_id label), the id property must be the same as the Allure ID of the test, OR
  2. If the selector property is present in the entry, it must be the same as the test's fullName.

Motivation

Test plan support allows selective runs from TMS (e.g., TestOps). Ideally, the mechanism should be supported by all Allure adapters.

delatrie avatar Feb 12 '24 13:02 delatrie