html可变长列表,如何在allure.step中显示可变长度的参数列表?

allure.step调用步骤标题上的格式方法,以形成实际的步骤名称

到目前为止,字符串格式化无法显示变量参数字符串.

要解决您的问题,您可以尝试使用将处理任何自定义逻辑的格式方法将包装器对象传递给步骤标题.

喜欢

class MyFancyStepTitle(object):

def __init__(self, title):

self.title = title

def format(self, *a, **kw):

return self.title.format(args=a, kwargs=kw)

@allure.step(MyFancyStepTitle('Function called with args {args}, kwargs {kwargs}'))

def my_fancy_function(*a, **kw):

return 'OK'

def test_foo():

# should produce step named

# "Function called with args [1, 2, 3], kwargs {'foo': 'bar', 'baz': '123'}"

my_fancy_function(1, 2, 3, foo='bar', baz='123')

此外,欢迎您发送任何拉取请求,以便在allure-python本身中修复参数传递登录.

干杯!

### 使用 `allure.step` 记录 Pytest 测试步骤 为了在 Pytest 中利用 Allure 报告框架记录详细的测试步骤,可以采用装饰器 `@allure.step()` 来包裹函数调用或代码块。这允许开发者为特定的操作定义描述性的名称,并且这些操作会被捕获到最终生成的 Allure 报告中。 #### 导入必要的模块并应用 `allure.step` 首先,在 Python 文件顶部导入所需的库: ```python import pytest import allure ``` 接着,可以通过如下方式创建带有参数化的步骤函数来增强可读性和维护性: ```python @allure.step("执行加法运算: {a} + {b}") def add(a, b): return a + b ``` 上述例子展示了如何通过传递给 `add` 函数的实际参数自动填充 `{}` 占位符中的内容[^2]。 #### 将 `allure.step` 应用于测试案例内部 除了单独的方法外,还可以直接把整个逻辑封装在一个由 `with allure.step(...)` 控制的上下文中,从而更灵活地控制哪些部分应该被视作独立的一步: ```python def test_addition(): with allure.step("准备数据"): num1 = 5 num2 = 7 result = add(num1, num2) with allure.step(f"验证结果等于 {num1 + num2}"): assert result == (num1 + num2), "计算错误" ``` 这里不仅实现了基本的功能测试,还清晰地标记出了每一步骤的目的以及预期的结果[^4]。 #### 执行测试与生成报告 完成以上设置之后,运行命令行指令启动测试并将结果保存至指定目录下以便后续查看Allure报告: ```bash pytest --alluredir=./results tests/ ``` 最后,使用 `allure serve` 命令快速预览本地构建好的HTML格式的Allure报告文件夹内的最新版本[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值