pytest详解-(1)用例收集规则
pytest是一个非常成熟的全功能的Python测试框架,主要特点有以下几点:
-
简单灵活,容易上手;
-
支持参数化;
-
能够支持简单的单元测试和复杂的功能测试,还可以用来做selenium/appnium等自动化测试、接口自动化测试(pytest+requests);
-
pytest具有很多第三方插件,并且可以自定义扩展,比较好用的如pytest-selenium(集成selenium)、pytest-html(html测试报告生成)、pytest-rerunfailures(失败case重复执行)、pytest-xdist(多CPU分发)、allure-pytest(生成测试报告)等;
-
测试用例的skip和xfail处理;
-
可以很好的和jenkins集成;
-
pytest默认执行顺序是按照case顺序位置先后执行的;
-
pytest.ini和conftest.py文件要放在执行的同级目录(根目录):
- 默认收集case的规则:
- 如果pytest命令行有指定目录,则从该目录中开始查找测试用例文件,如果没有指定,则从当前运行目录开始查找文件。注意,该查找是递归查找,子目录中的文件也会被查找到。
- 并不是能够查找到目录下的所有文件,只有符合命名规则的文件才会被查找。默认规则是以test_开头或者以_test结尾的.py文件。
- 在测试文件中查找Test开头的类,以及类中以test_开头的方法,查找测试文件中test_开头的函数
- 自定义收集case的规则--在pytest.ini文件内配置:
-
python_files = 'abc_*.py' #文件名以abc_开头
-
python_classes = 'Login*' #类的名称以Login开头
-
python_functions = 'case*' #方法的名称以case开头
-