• pytest文档49-命令行参数--tb的使用


    前言

    pytest 使用命令行执行用例的时候,有些用例执行失败的时候,屏幕上会出现一大堆的报错内容,不方便快速查看是哪些用例失败。
    --tb=style 参数可以设置报错的时候回溯打印内容,可以设置参数(auto/long/short/line/native/no)

    --tb=style

    pytest -h 查看命令行参数,关于 --tb=style 参数的使用方式

    >pytest -h
    
     --tb=style            traceback print mode (auto/long/short/line/native/no).
    

    style 的值可以设置6种打印模式:auto/long/short/line/native/no

    --tb=no

    先写个简单的pytest用例,让他断言报错

    # test_tb.py
    # 作者-上海悠悠 QQ交流群:717225969
    # blog地址 https://www.cnblogs.com/yoyoketang/
    
    def test_01():
        result = "hello"
        expected = "world"
        assert result == expected
    

    命令行执行pytest test_tb.py 此时屏幕上会显示整个用例的回溯信息

    test_tb.py F                                                             [100%]
    
    ================================== FAILURES ===================================
    ___________________________________ test_01 ___________________________________
    
        def test_01():
            result = "hello"
            expected = "world"
    >       assert result == expected
    E       AssertionError: assert 'hello' == 'world'
    E         - hello
    E         + world
    
    test_tb.py:8: AssertionError
    ========================== 1 failed in 0.08 seconds ===========================
    

    加上 --tb=no 参数执行

    test_tb.py F                                                             [100%]
    
    ========================== 1 failed in 0.05 seconds ===========================
    

    --tb=no 是不显示报错的回溯内容

    --tb=line

    line 模式使用一行输出所有的错误信息

    test_tb.py F                                                             [100%]
    
    ================================== FAILURES ===================================
    D:softkecheng202004demo	est_tb.py:8: AssertionError: assert 'hello' == 'world'
    ========================== 1 failed in 0.06 seconds ===========================
    

    --tb=short

    short 模式显示断言报错的位置,不显示用例前面的代码

    test_tb.py F                                                             [100%]
    
    ================================== FAILURES ===================================
    ___________________________________ test_01 ___________________________________
    test_tb.py:8: in test_01
        assert result == expected
    E   AssertionError: assert 'hello' == 'world'
    E     - hello
    E     + world
    ========================== 1 failed in 0.06 seconds ===========================
    

    其它

    --tb=auto 有多个用例失败的时候,只打印第一个和最后一个用例的回溯信息
    --tb=long 输出最详细的回溯信息
    --tb=short 输入assert的一行和系统判断内容
    --tb=line 使用一行显示错误信息
    --tb=native 只输出python标准库的回溯信息
    --tb=no 不显示回溯信息

  • 相关阅读:
    备忘: Visual Studio 2013 VC++ IDE 使用小贴示。
    获取动态数组指针 所指向数组长度的一种方法
    备忘:C++ 类 (初学之实录)。
    备忘:VC++ 中的异常处理
    备忘: C++中的 vector 容器
    备忘:C++基础 -- 数据类型的学习总结
    Windws Server 2008 R2 WEB环境配置之MYSQL 5.6.22安装配置
    Windows Server 2008 R2 WEB服务器配置系列文章索引
    php学习过程二
    php学习过程一
  • 原文地址:https://www.cnblogs.com/yoyoketang/p/13601121.html
Copyright © 2020-2023  润新知