You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从pytest fixture中读取测试函数的文档字符串?

如何在pytest Fixture中获取测试函数的文档字符串

直接通过request.node.obj.__doc__即可获取测试函数的文档字符串。request.node代表当前执行的测试项,其obj属性指向对应的测试函数对象,访问该对象的__doc__属性就能拿到文档字符串。

修改后的conftest.py示例:

import pytest

@pytest.fixture(scope='function', autouse=True)
def publish_to_pubsub(request):
    test_func = request.node.obj
    test_name = request.node.name
    # 获取文档字符串,处理无文档的情况
    test_docstring = test_func.__doc__ or "无文档字符串"
    
    print(f"\n\nSTARTED Test '{test_name}'")
    # 输出格式化后的文档字符串
    print(f"测试文档: {test_docstring.strip() if test_docstring else '无'}")
    
    def fin():
        print(f"COMPLETED Test '{test_name}'\n")

    request.addfinalizer(fin)

说明:如果测试函数未定义文档字符串,__doc__会返回None,示例中添加了默认值处理这种场景,避免输出异常。

内容的提问来源于stack exchange,提问作者gthy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 17:37:00