allure-framework / allure-framework/allure-python

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

未关闭
#792 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
task:improvement theme:core
主要语言
Python
星标
814
派生
260
PR 合并指标
30 天内没有已合并 PR

描述

#### I'm submitting a ...
- [x] feature request

#### What is the current behavior?
```python
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:

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

贡献指南

打开贡献指南

调研方向

先阅读 StepContext 的定义及其在 _allure.py 中的使用方式,然后检查 allure.py 中的公共导出。使 StepContext 可从 allure.py 使用,以便示例 wrapper 能在返回值注解中使用它,并验证公共导入正常工作。

由索引模型根据 Issue 内容生成。

评估

技术栈
python
领域
api
Issue 类型
功能
难度
2/5
预计耗时
1-3 小时
活跃度
停滞
描述清晰度
描述清楚
新手友好度
35/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。