前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Pytest(13)命令行参数–tb的使用

Pytest(13)命令行参数–tb的使用

作者头像
全栈程序员站长
发布2022-09-16 11:13:38
5790
发布2022-09-16 11:13:38
举报
文章被收录于专栏:全栈程序员必看

前言

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

–tb=style

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

代码语言:javascript
复制
> pytest -h
--tb=style            traceback print mode (auto/long/short/line/native/no).

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

–tb=no

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

代码语言:javascript
复制
def test_01():
    result = "hello"
    expected = "world"
    assert result == expected

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

代码语言:javascript
复制
../test_1.py::test_01 FAILED                                             [100%]
case/test_1.py:11 (test_01)
hello != world

Expected :world
Actual   :hello
<Click to see difference>

def test_01():
        result = "hello"
        expected = "world"
>       assert result == expected
E       AssertionError: assert 'hello' == 'world'

../test_1.py:15: AssertionError


Assertion failed


=================================== FAILURES ===================================
___________________________________ test_01 ____________________________________

加上 --tb=no 参数执行

代码语言:javascript
复制
collecting ... 

 case/test_1.py ⨯                                                                                                                                                                              100% ██████████

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

–tb=line

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

代码语言:javascript
复制
collecting ... 
/Users/jkc/PycharmProjects/apiAutomatic/case/test_1.py:15: AssertionError: assert 'hello' == 'world'

 case/test_1.py ⨯                                                                                                                                                                                        100% ██████████

–tb=short

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

代码语言:javascript
复制
collecting ... 

――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――― test_01 ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
case/test_1.py:15: in test_01
    assert result == expected
E   AssertionError: assert 'hello' == 'world'
E     - world
E     + hello

 case/test_1.py ⨯                                                                                                                                                                                        100% ██████████

其他

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

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/166347.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • –tb=style
  • –tb=no
  • –tb=line
  • –tb=short
  • 其他
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档