一、环境准备
👉使用pip命令直接进行安装:pip install pytest
👉查看已安装的pytest的版本:pytest --version/pytest 7.2.1
二、pytest中的测试用例的收集规则
👉pytest中的测试用例的收集规则如下:
📖文件名以test_*.py文件和*_test.py文件
📖以test_开头的函数
📖以Test开头的类,不能包含init方法
👉当前文件下有2个测试文件:
📖test_file1.py test_files2.py
📖运行所有的py文件:pytest #运行所有的test_开头的py文件
📖只运行部分py文件:pytest test_file1.py #只运行test_file1.py
三、Fixture简述
👉Fixture:测试用例执行的环境准备和清理操作
👉在unittest中指的是setup(),teardown(),classSetup(),classTeardown()
👉Fixture主要的目的是为了提供一种可靠和可重复型的手段去运行那些最基本的内容定义传入测试中的数据集
📖在测试网站时,每个用例都需要登录和退出,利用fixture只做一次即可,避免在每个用例执行前都做冗余的操作
📖用例1需要先登录,用例2不需要登录,用例3需要先登录。很明显这无法使用setup和teardown来实现
四、Fixture定义
👉将一个函数定义成Fixture,只需要在前面加上@pytest.fixture即可。表示此函数为环境数据的准备和清理
👉在一个fixture内部,通过yield区分环境准备和数据清理,在yield之前的为环境准备,在yield之后的为环境清理
五、Fixture作用域
👉function:每个test都运行,fixture的scope默认是function,相当于unittest中的setup(),teardown()
👉class:每个class的