allure-framework / allure-framework/allure-python
Precondition and expected results decorators
- Dominant language
- Python
- Stars
- 814
- Forks
- 260
- PR merge metrics
- No merged PRs in 30d
Description
#### I'm submitting a ...
- [ ] bug report
- [x] feature request
- [ ] support request => Please do not submit support request here, see note at the top of this template.
#### What is the expected behavior?
Would be great to have the ability to add preconditions and expected results in pytest allure decorators, similar to `@allure.title`, `@allure.description`, etc.
Ex:
```python
@allure.title('This is a test')
@allure.precondition('This is precondition 1')
@allure.precondition('This is precondition 2, or maybe it can be passed as a list to one decorator')
@allure.expected_result('At the end, it should be `1`')
def test_something():
pass
```
#### What is the motivation / use case for changing the behavior?
When creating manual tests, we do have these features, ex:

We have a _lot_ of automated tests that have visibility to other teams and separating the preconditions from the description would be very useful.
#### Please tell us about your environment:
- Allure version: 2.24.1
- Test framework: pytest@7.4.3
- Allure adaptor: allure-pytest@2.13.2
#### Other information
[//]: # (
. e.g. detailed explanation, stacktraces, related issues, suggestions
. how to fix, links for us to have more context, eg. Stackoverflow, Gitter etc
)
Contributor guide
Research direction
Start by examining the existing pytest decorators such as @allure.title and @allure.description and how their metadata is represented. Determine how repeated preconditions and an expected result should be exposed separately from the description, then add coverage for the requested decorator behavior and verify the generated report displays these fields.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- testing
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100