系列分享
Pytest系列(一)初次了解
Pytest(二)执行规则以及编写执行多条用例
Pytest(三)Pytest执行命令
Pytest(四)Pytest断言
Pytest(五)标记函数
Pytest(六)跳过测试
Pytest(七) pytest之参数化
Pytest(八) pytest Fixture(一)
Pytest(九) pytest Fixture(二)
Pytest(十) pytest Fixture(三)
pytest里面有些文件是非test文件
代码语言:javascript复制pytest.ini pytest的主配置文件,可以改变pytest的默认行为
conftest.py 测试用例的一些fixture配置
_init_.py 识别该文件夹为python的package包
tox.ini 与pytest.ini类似, 用tox工具时候才有用
setup.cfg 也是ini格式文件,影响setup.py的行为
使用pytest --help指令可以查看pytest.ini的设置选项
ini文件基本格式
代码语言:javascript复制 [pytest]
addopts = -rsv
我们在执行的时候,可以不增加这些参数,addopts就是我们运行的时候所最近的命令
直接在命令行输入pytest,会自动读取pytest.ini文件
我们还可以指定markers分组
代码语言:javascript复制markers =
web: Run the web case
hello: Run the hello case
这里指定的我们运行的标记的分组。
我们还可以标记python_files,指定对应的测试的文件。
代码语言:javascript复制python_files=casetest_11.py
这样我们只会执行的文件
可以配置下所要执行的目录,即我们配置了几个目录,
代码语言:javascript复制testpaths=
app/login/
app/regin/
那么执行的时候,配置目录下面所有的用例都可以执行。pytest在检查没有配置的时候,就执行默认的,当我们配置了对应的目录,就会按照对应的配置执行测试用例。与之相反的是norecursedirs,这个指定后,就排除掉对应的配置目录选择执行测试用例
python_classes (args)配置
配置python_classes =Test* 匹配class 类名称 如Test*,可配置多个,空格隔开,和python_files (args)方法配置类似
python_functions (args)配置
配置python_functions = test_* 匹配函数和class里面方法 如test_*可配置多个,空格隔开,和python_files (args)方法配置类似。
我们配置一个完整的文件看下
代码语言:javascript复制[pytest]
addopts = -v #执行的命令参数
markers =
web: Run the webtest case #分组的case
hello: Run the hello case#分组标记的case
python_files=casetest_11.py
我们看下执行的结果
我们要执行对的分组的即可
代码语言:javascript复制[pytest]
addopts = -v -m web #执行的命令参数
markers =
web: Run the webtest case #分组的case
hello: Run the hello case#分组标记的case
python_files=casetest_11.py
我们我们就选择了对应的目录下面的标记的case进行了执行