pytest
Posted wenshu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pytest相关的知识,希望对你有一定的参考价值。
1. 查看详情:pytest test.py 文件
-v 查看详情
3. 直接在目录下运行pytest
搜索当前目录及其子目录(不一定带test)以test_开头或者_test结尾的测试函数
5. 运行结果
. 通过
F fail
E error
s skip
x xfail(预期失败实际失败)
X xpass(预期失败但是通过)
6. 常用的pytest选项
--collect-only 当前会运行那些用例
-s 可以输出print的信息
-v 详细信息
-q 简化结果内容(常常和 -q --tb=line 一起使用)
-m 运行带标记的用例(可以在标记之间添加 and or not关键词,注意使用双引号)
7. 预期异常
import pytest
with pytest.raises(TypeError):
... # 代码逻辑预期会报TypeError的异常
8. 标记
@pytest.mark.something
9. 跳过测试
@pytest.mark.skip()
10. 参数化
@pytest.mark.parametrize(argnames,argvalues)
argnames 逗号分隔的字符串列表 ‘summary, owner, done‘
argvalues value组成的列表
[(‘sleep‘, None, False),
(‘wake‘, ‘brian‘, False),
(‘breathe‘, ‘BRIAN‘, True),
(‘eat eggs‘, ‘BrIaN‘, False),
])
ids 作用:标识value里面的每一个参数,ids是一个字符串列表,和value对象的长度一致
11. --setup-show,可以回溯fixture的执行顺序
scope=‘function‘ 每个函数运行的时候均会调用
scope=‘class‘ 每个类运行的时候仅且仅运行一次
scope=‘module‘ 每个py文件运行的时候仅且仅一次
scope=‘session‘ 每次运行仅且仅一次
以上是关于pytest的主要内容,如果未能解决你的问题,请参考以下文章