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:\soft\kecheng202004\demo\test_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 不显示回溯信息
网易云完整视频课程《pytest+yaml 框架使用与开发》https://study.163.com/course/courseMain.htm?courseId=1213419817&share=2&shareId=480000002230338