pytest

2021年09月15日 阅读数:1
这篇文章主要向大家介绍pytest,主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。

pytest

1.测试用例执行
(1)指定模块:pytest test_mod.py
(2)指定目录:pytest testing/
(3)经过关键字表达式过滤执行node

(4)经过 node id 指定测试用例(nodeid由模块文件名、分隔符、类名、方法名、参数构成)
a)运行模块中的指定用例:pytest test_mod.py::test_func
b)运行模块中的指定方法:pytest test_mod.py::TestClass::test_method
c)markdown

5)经过标记表达式执行:pytest -m app_regression (这条命令会执行被装饰器 @pytest.mark.app_regression 装饰的全部测试用例)
6)多进程运行cases
须要先安装pytest-xdist :pip install -U pytest-xdist
运行模式:pytest test_se.py -n NUM
7)重试运行cases
须要先安装pytest-rerunfailures:pip install -U pytest-rerunfailures
运行模式:pytest test_se.py --reruns NUM
8)在第N个用例失败后,结束测试执行
pytest -x # 第01次失败,就中止测试
pytest --maxfail=2 # 出现2个失败就终止测试
9)经过包执行测试
pytest --pyargs pkg.testing
10)显示print内容:-s
pytest test_se.py -sapp

2.pytest的setup和teardown函数
(1)setup和teardown主要分为:模块级,类级,功能级,函数级。
(2)函数级别setup()/teardown():运行于测试方法的始末,即:运行一次测试函数会运行一次setup和teardown
(3)类级别,运行于测试类的始末,即:在一个测试内只运行一次setup_class和teardown_class,不关心测试类内有多少个测试函数。
pytest pytestide

pytest pytest

3.pytest之fixture
(1)方法:fixture(scope="function", params=None, autouse=False, ids=None, name=None)
pytest函数

(2)设置为运行(默认是不运行的)
pytest测试

(3)经过参数引用
pytest.net

(4)经过函数引用
pytest3d

(5)设置做用域为function
pytestblog

(6)设置做用域为class
pytest进程

(7)返回值
pytest

4.高阶用法
(1)跳过测试函数
pytest
示例:
pytest

(2)标记为预期失败函数
pytest
示例:
pytest

参考文献:https://blog.csdn.net/lovedingd/article/details/98952868