Pytest(13)命令行参数–tb的使用「建议收藏」

Pytest(13)命令行参数–tb的使用「建议收藏」前言pytest使用命令行执行用例的时候,有些用例执行失败的时候,屏幕上会出现一大堆的报错内容,不方便快速查看是哪些用例失败。–tb=style参数可以设置报错的时候回溯打印内容,可以设置参

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

前言

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用例,让他断言报错

def test_01():
    result = "hello"
    expected = "world"
    assert result == expected

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

../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 参数执行

collecting ... 

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

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

–tb=line

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

collecting ... 
/Users/jkc/PycharmProjects/apiAutomatic/case/test_1.py:15: AssertionError: assert 'hello' == 'world'

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

 

–tb=short

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

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.net/165681.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 生物识别指纹_生物指纹识别技术

    生物识别指纹_生物指纹识别技术锁屏要使用指纹解锁,首先要注册指纹服务,我看过的一些大厂项目中,实际上是在KeyguardUpdate.java类中发起注册的,一般是根据当前状态,是不是已经处于上锁状态(侧边指纹机器,是不等上锁即进行指纹服务注册,屏下指纹需要等上锁后,才发起指纹服务注册)。………………………

    2022年8月10日
    9
  • Linux渗透之Ettercap详解「建议收藏」

    Linux渗透之Ettercap详解「建议收藏」Ettercap最初设计为交换网上的sniffer,但是随着发展,它获得了越来越多的功能,成为一款有效的、灵活的中介攻击工具。它支持主动及被动的协议解析并包含了许多网络和主机特性(如OS指纹等)分析。ettercap在backtrack系统中自带,若想自己安装可以使用Defaultapt-getinstallettercap1apt-getinstallettercap(源中要有

    2022年6月28日
    74
  • RabbitMQ默认端口

    4369:epmd,RabbitMQ节点和CLI工具使用的对等发现服务5672、5671:由不带TLS和带TLS的AMQP0-9-1和1.0客户端使用25672:用于节点间和CLI工具通信(Erlang分发服务器端口),并从动态范围分配(默认情况下限制为单个端口,计算为AMQP端口+20000)。除非确实需要这些端口上的外部连接(例如,群集使用联合身份验证或在子网外部的计算机上使用CLI工具),否则这些端口不应公开。有关详细信息,请参见网络指南。35672-35682:由CLI工具..

    2022年4月5日
    159
  • hibernateTemplate update 只更新被修改字段

    hibernateTemplate update 只更新被修改字段如果你用hibernateTemplate操作数据库,感觉的确很省代码,一行代码解决数据库增改删查,但当你做到一个功能只更新一个字段,你就有点懵逼了,怎么试就是不行,总的就是下面的异常报错。当你用hibernateTemplate模板去update或者saveOrUpdate某个对象的时候发现报某字段不能为空的异常,而你的封装对象属性里却实做了某字段的修改,一时就蒙了。其实也不难发现,一…

    2022年6月29日
    25
  • yum卸载重装[通俗易懂]

    yum卸载重装[通俗易懂]莫名原因(之前操作不小心删除了某相关文件)导致虚拟机的yum使用不了,在重新安装之前需要卸载原来的相关数据1.删除/usr/share目录下的yum-cli、yum-pluginrm-rfyum-cli/yum-plugins/2.清理与yum相关的文件rpm-qa|grepyumrpm-eyum-3.4.3-161.el7.centos.noarch…

    2022年6月10日
    70
  • 做3D游戏建模师有年龄限制吗?

    做3D游戏建模师有年龄限制吗?3D游戏建模师是一门非常火热的行业,现在很多游戏厂商都在高薪招聘3D游戏建模师。因此很多人在想要学习次世代建模技术的同时,又担心企做这个会不会有年龄的限制。其实大可不必担心,因为只要本身具有学习能力,愿意接受新知识,愿意与时俱进的提高自己,那么年龄就不是你的问题。其实年龄大的人从事3D游戏建模行业也是有一定优势的,他们生活阅历丰富,对于如何把握人物建模和场景建模方面的细节会有自己独到的理解。同时又具备一定缺陷,在学习方面会有一定的障碍,因为不管是记忆力还是对新知识的接受能力都会有所下降,所以一定要选择一

    2022年6月3日
    48

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号