zoukankan      html  css  js  c++  java
  • 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 不显示回溯信息

  • 相关阅读:
    关于Maya Viewport 2.0 API 开发的介绍视频
    春节大假
    Some tips about the life cycle of Maya thread pool
    Can I compile and run Dx11Shader for Maya 2015 on my side?
    How to get current deformed vertex positions in MoBu?
    想加入全球首届的 欧特克云加速计划吗?
    三本毕业(非科班),四次阿里巴巴面试,终拿 offer(大厂面经)
    mac、window版编辑器 webstorm 2016... 永久破解方法。
    node 搭载本地代理,处理web本地开发跨域问题
    js 一维数组,转成嵌套数组
  • 原文地址:https://www.cnblogs.com/yoyoketang/p/13601121.html
Copyright © 2011-2022 走看看