前言
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 :hellodef 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 不显示回溯信息
查看更多关于Pytest(13)命令行参数--tb的使用的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did126646