gpt4 book ai didi

python - pytest:在报告中添加测试描述(长测试名称)而不重命名文件或函数的最佳方法

转载 作者:行者123 更新时间:2023-12-04 02:39:38 24 4
gpt4 key购买 nike

默认情况下,pytest 在 pytest 报告中使用测试函数名称或测试文件名称

有没有在报告中添加测试描述(长测试名称)而不使用 pytest 重命名文件或函数的最佳方法?

我们可以通过在运行时更新测试用例名称来做到这一点吗?

  • request.node.name
  • request.node.name = "Very Very Very Very Very long long long long name name name name"
  • 测试名称后的说明
  • def test_ok():
    """Very Very Very Very Very long long long long name name name name"""
    print("ok")

    最佳答案

    使用 pytest_runtest_makereport hook ,可以为每个测试调整报告的名称。 (请注意,钩子(Hook)必须放在插件或 conftest.py 中)

    # conftest.py

    import pytest

    @pytest.hookimpl(hookwrapper=True)
    def pytest_runtest_makereport(item, call):
    outcome = yield
    report = outcome.get_result()

    test_fn = item.obj
    docstring = getattr(test_fn, '__doc__')
    if docstring:
    report.nodeid = docstring


    # test_it.py

    def test_ok():
    """Very Very Very Very Very long long long long name name name name"""
    print("ok")
    这将产生类似于以下内容的输出:
    tests/test_stuff.py::test_ok 
    Very Very Very Very Very long long long long name name name name <- tests/test_stuff.py PASSED [100%]
    "hookwrapper: executing around other hooks"更多信息请访问 outcome = yieldoutcome.get_result()商业。

    关于python - pytest:在报告中添加测试描述(长测试名称)而不重命名文件或函数的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59996968/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com