fixtrue基础之name参数

本文介绍了pytest单元测试框架中fixture装饰器的name参数使用方法。通过实例演示了如何为fixture设置名称,并在测试用例中引用该名称来调用fixture。

fixtrue基础之name参数

前言

学习知识要善于思考,思考,再思考。—- 爱因斯坦

今天雨后的清晨,空气格外好!


一、name参数是什么?

  • name参数是fixture方法中的其中一个参数;
  • name参数是给fixtrue设置名称;
  • name参数的出处参考我上一篇博文。

二、name参数应用

import pytest

@pytest.fixture(name='newdream') #name参数给fixture设置名称

def setUp():

    print('setUp')

    yield

    print('tearDown')

def testcase(newdream): #使用name参数名来引用

    print('exectue testcase01')

    assert 1

if __name__=='__main__':

    pytest.main(["-s"])

上述实例小结:

  • @pytest.fixture(name='newdream')表示设置name参数
  • 在testcase方法中,使用fixture的name参数值来引用fixture
  • 已经给fixture设置了name参数后,还用函数名(如上例中的setUp)作为测试方法的入参会报错
  • 默认情况下不设置name参数,使用fixture下对应的函数名来引用fixture

### 解决 Allure 使用中的常见问题 #### 1. 环境配置不当导致无法全局调用 `allure` 命令 当尝试在 Linux 中使用 `os.system()` 执行 allure 相关命令时,可能会因为未正确设置环境变量而失败。为了确保可以在任何位置执行 `allure` 命令,需将 Allure 的可执行文件路径加入到系统的 PATH 变量中[^3]。 ```bash export PATH=$PATH:/path/to/allure/bin ``` 建议将上述命令添加至 `.bashrc` 或者 `.zshrc` 文件中以便每次登录自动加载此配置。 #### 2. 测试报告生成过程中出现中文字符乱码现象 对于 Pytest 和 Allure 结合使用时产生的 Unicode 编码错误,特别是涉及中文字符的情况,可以通过调整 Python 脚本内部以及 HTML 报告模板来处理这个问题。具体措施如下: - **修改 pytest.ini 配置** 确保项目根目录下的 `pytest.ini` 文件中含有以下内容以支持 UTF-8 编码: ```ini [pytest] addopts = --maxfail=1 -q --tb=native --encoding=utf-8 ``` 这一步骤有助于防止因默认编码不匹配而导致的数据传输过程中的信息丢失或变形。 -8859-1 进行渲染。此时可以考虑创建一个简单的插件来自定义结果处理器,在其中显式指定输出格式为 utf-8 。详情参见官方文档关于扩展 Allure 功能的部分[^4]。 #### 3. 正确获取并安装最新版本的 Allure 工具包 为了避免兼容性问题带来的麻烦,应当始终从官方网站下载最新的稳定版 Allure 发布包。当前推荐的方式是从 GitHub 上对应的仓库页面下载适用于操作系统的二进制分发文件[^1][^2]: - 访问链接:https://github.com/allure-framework/allure2/releases - 根据操作系统选择合适的压缩包进行下载解压即可完成初步部署工作。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值