栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

避免打印点

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

避免打印点

详细选项无法关闭测试结果打印。但是,

pytest
可以通过多种方式进行自定义,包括结果打印。要更改此设置,您将覆盖该
pytest_report_teststatus
挂钩。

关闭短字母

创建一个

conftest.py
具有以下内容的文件:

import pytestdef pytest_report_teststatus(report):    category, short, verbose = '', '', ''    if hasattr(report, 'wasxfail'):        if report.skipped: category = 'xfailed' verbose = 'xfail'        elif report.passed: category = 'xpassed' verbose = ('XPASS', {'yellow': True})        return (category, short, verbose)    elif report.when in ('setup', 'teardown'):        if report.failed: category = 'error' verbose = 'ERROR'        elif report.skipped: category = 'skipped' verbose = 'SKIPPED'        return (category, short, verbose)    category = report.outcome    verbose = category.upper()    return (category, short, verbose)

现在运行测试将不会打印任何简短的结果字母(

.sxFE
)。该代码有点冗长,但是可以处理框架中定义的所有标准结果。

关闭详细的结果

在详细模式下运行时,

pytest
输出结果以及测试用例名称:

$ pytest -sv=================================== test session starts ===================================...test_spam.py::test_spam PASSEDtest_spam.py::test_eggs FAILEDtest_spam.py::test_bacon SKIPPEDtest_spam.py::test_foo xfail...

如果您

verbose
从上述挂钩隐含中删除了行设置(将其设置为空字符串),
pytest
也会以详细模式停止打印结果:

import pytestdef pytest_report_teststatus(report):    category, short, verbose = '', '', ''    if hasattr(report, 'wasxfail'):        if report.skipped: category = 'xfailed'        elif report.passed: category = 'xpassed'        return (category, short, verbose)    elif report.when in ('setup', 'teardown'):        if report.failed: category = 'error'        elif report.skipped: category = 'skipped'        return (category, short, verbose)    category = report.outcome    return (category, short, verbose)$ pytest -sv=================================== test session starts ===================================...test_spam.py::test_spamtest_spam.py::test_eggstest_spam.py::test_bacontest_spam.py::test_foo...

通过命令行开关引入自定义报告模式

下面的示例将

--silent
从命令行传递标志时关闭同时打印简短和详细结果的信息:

import pytestdef pytest_addoption(parser):    parser.addoption('--silent', action='store_true', default=False)def pytest_report_teststatus(report):    category, short, verbose = '', '', ''    if not pytest.config.getoption('--silent'):        return None    if hasattr(report, 'wasxfail'):        if report.skipped: category = 'xfailed'        elif report.passed: category = 'xpassed'        return (category, short, verbose)    elif report.when in ('setup', 'teardown'):        if report.failed: category = 'error'        elif report.skipped: category = 'skipped'        return (category, short, verbose)    category = report.outcome    return (category, short, verbose)


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/624404.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号