allure-framework / allure-python

Allure integrations for Python test frameworks
https://allurereport.org/
Apache License 2.0
722 stars 236 forks source link

[Feature request] Make `StepContext` available in public API for annotations #792

Open gryznar opened 8 months ago

gryznar commented 8 months ago

I'm submitting a ...

What is the current behavior?

def allure_step__foo(content: str):
    return allure.step(content)

Annotating return type of such function is not possible, because allure.step returns internal StepContext (under _allure.py)

What is the expected behavior?

Make StepContext available in allure.py

What is the motivation / use case for changing the behavior?

Adding StepContext to public API will allow to annotate return type of allure_step__foo in a nice and simple way via:

def allure_step__foo(content: str) -> StepContext: ...