pytest-测试用例命名规则及其配置文件

Source

pytest的测试用例命名规则

编写的测试用例名称要按照规则进行命名,pytest才能发现和收集到测试用例

默认的命名规则

pytest的默认的命名规则如下:
如果pytest的命令行没有指定路径,那么从testpaths配置的路径或者当前目录开始,递归搜索其子目录,如果子目录配置在norecursedirs则忽略
搜索py文件是以:test_*.py或者.test.py的py文件
在这些py文件中,搜索以test开头的函数,以Test开头的class中的以test开头的方法,其他class不要包含__init
_.py方法

testpaths

在pytest.ini文件中,定义testpaths参数,当在项目跟目录下运行pytest时,只会搜索testpaths定规的目录

[pytest]
testpaths = pytestlearn2

在跟目录执行pytest命令时,如果命令行没有指定路径,就会搜索根目录下所有符合命名规则的测试用例
如果在testpaths中指定了路径,搜索只从这个路径开始,如果多个目录,中间从空格隔开
搜索以pytestlearn2目录开始的测试用例

如果pytest命令行指定了路径,才按照命令,比如 pytest -v -s pytestlearn/,就会搜索以pytestlearn开始的目录

改变测试用例默认命名规则

如果测试用例不想以默认的test开头,可以在配置文件中更改默认的命名规则
python_files更改py文件的命名规则
python_classes更改Class的命名规则
python_functions更改函数的命名规则

[pytest]
python_files = check_*.py
python_classes = Check
python_functions = *_check

搜索以check_*开头的py文件,以Check开头的Class,以_check结尾的方法或者函数