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 不显示回溯信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/165561.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 基于stm32门禁系统_老式门禁

    基于stm32门禁系统_老式门禁0、前言RC522射频门禁识别模块非常常用,某宝卖家提供的程序基本都是使用软件模拟SPI的方式进行驱动的,但是实测使用软件模拟SPI识别速率、准确性没有硬件SPI驱动时高,因此本篇博客用于记录使用STM32硬件SPI驱动RC522门禁模块。1、硬件连接单片机:STM32F103RCT6硬件接口:SPI2MISO->PB14(主机输入,从机输出)MOSI->PB15(主机输出,从机输入)SCK->PB13(时钟信号SCLK)SDA->PC

  • C语言中assert函数的用法[通俗易懂]

    断言(ASSERT)的用法  我一直以为assert仅仅是个报错函数,事实上,它居然是个宏,并且作用并非“报错”。  在经过对其进行一定了解之后,对其作用及用法有了一定的了解,assert()的用法像是一种“契约式编程”,在我的理解中,其表达的意思就是,程序在我的假设条件下,能够正常良好的运作,其实就相当于一个if语句:if(假设成立){程序正常运行;}e

  • pca主要成分分析_通俗易懂的俗语

    pca主要成分分析_通俗易懂的俗语转载自:http://blog.codinglabs.org/articles/pca-tutorial.html文章分析脉络梳理: 1.向量A和B的内积表示的是向量A在B上的投影长度。那么将一个向量与新的基做内积,结果则表示该向量在新的基下的坐标。2.将新选定的基表示成矩阵形式,与原向量相乘,就得到了原向量在新选定的基所表示的空间(或坐标系)中的坐标表示了。3.怎样选定这组基用于数据降维?(目标…

    2022年10月16日
  • mysql行转列转换

    mysql行转列转换mysql行列转换,在项目中应用的极其频繁,尤其是一些金融项目里的报表。其中最为头痛的就是多行转多列,动态的列行转换。最近在研究这些行里转换,还是从最为简单的行列转换开始。sql脚本–创建表学生表CREATETABLE`student`(`stuid`VARCHAR(16)NOTNULLCOMMENT’学号’,`stunm`VARCHAR(20

  • Latex插入图片却不显示问题小结

    Latex插入图片却不显示问题小结1、首先检查有没有导入宏包\usepackage{graphicx}2、检查图片路径有无问题3、可以尝试将Tex的同名文件删除,重新编译生成4、若是文章分栏\begin{multicols}{2}那是因为multicols环境不能识别figure环境,重新定义一个环境即可\newenvironment{figurehere}{\def\@captype{figure}}{}\makeatother%用于连接公式编号在文中,用figureher

  • javascript如何去除对象的某个属性「建议收藏」

    js中其实是有delete这个关键字的varobj={key1:’value1′,key2:’value2′};deleteobj.key1;这样就能删除obj中的key1了。不过delete不能删除直接使用var定义的变量。比如:varvar1=’value1′;deletevar1;

发表回复

您的电子邮箱地址不会被公开。

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