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

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


相关推荐

  • Linux安装CUDA的正确姿势[通俗易懂]

    Linux安装CUDA的正确姿势CUDA(ComputeUnifiedDeviceArchitecture,统一计算架构)是由NVIDIA所推出的一种集成技术,是该公司对于GPGPU的正式名称。透过这个技术,用户可利用NVIDIA的GeForce8以后的GPU和较新的QuadroGPU进行计算。查看显卡是否支持CUDA输入下面命令查看电脑的NVIDIA型号:v…

    2022年4月18日
  • MYSQL | ERROR 1305(42000) SAVEPOINT *** DOES NOT EXIST「建议收藏」

    MYSQL | ERROR 1305(42000) SAVEPOINT *** DOES NOT EXIST

    2022年2月10日
  • 数据结构与算法Python_数据结构与算法python语言实现

    数据结构与算法Python_数据结构与算法python语言实现我们已经知道算法是具有有限步骤的过程,其最终的目的是为了解决问题,而根据我们的经验,同一个问题的解决方法通常并非唯一。这就产生一个有趣的问题:如何对比用于解决同一问题的不同算法?为了以合理的方式提高程序效率,我们应该知道如何准确评估一个算法的性能。本节学习首先介绍算法分析的重要性,并讲解了分析算法的时间复杂度和空间复杂度分析方法,最后介绍了Python列表和字典常见操作的时间复杂度。

    2022年9月27日
  • python汉洛塔_汉诺塔python用递归实现

    python汉洛塔_汉诺塔python用递归实现第一步代码:importturtleclassStack:def__init__(self):self.items=[]defisEmpty(self):returnlen(self.items)==0defpush(self,item):self.items.append(item)defpop(self):returnself.items.pop()defpeek(…

    2022年10月12日
  • uuid生成唯一数字_java组件有哪些

    uuid生成唯一数字_java组件有哪些UUID含义是通用唯一识别码(UniversallyUniqueIdentifier),这是一个软件建构的标准,也是被开源软件基金会(OpenSoftwareFoundation,OSF)的组织在分布式计算环境(DistributedComputingEnvironment,DCE)领域的一部份。UUID的目的,是让分布式系统中的所有元素,都能有唯一的辨识资讯,而不需

    2022年9月22日
  • mysql读写分离的意义_MySQL读写分离

    mysql读写分离的意义_MySQL读写分离如何实现mysql的读写分离?就是基于主从复制架构,简单来说,就搞一个主库,挂多个从库,然后我们就单单只是写主库,然后主库会自动把数据给同步到从库上去。MySQL主从复制原理的是啥?主库将变更写binlog日志,然后从库连接到主库之后,从库有一个IO线程,将主库的binlog日志拷贝到自己本地,写入一个中继日志中。接着从库中有一个SQL线程会从中继日志读取binlog,然后执行binlog日志中的…

    2022年6月13日

发表回复

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

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