Pytest(十一) pytest ini文件

2022-04-06 08:36:53 浏览数 (1)

系列分享

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进行了执行

0 人点赞