allure-framework / allure-framework/allure-python

Precondition and expected results decorators

Open
#775 3 comments 10 reactions 0 assignees View on GitHub
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:

![image](https://github.com/allure-framework/allure-python/assets/11450769/005cfdcb-abc4-4412-bec3-53acf78af443)

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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.