allure-framework / allure-framework/allure-codeception
Add support for selective test run with a test plan
- Dominant language
- PHP
- Stars
- 53
- Forks
- 44
- PR merge metrics
- No merged PRs in 30d
Description
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:
```json
{
"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.
Contributor guide
Assessment
This issue has not been assessed yet.