提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
一、pytest框架结构
pytest提供了相对自由和层次丰富的setup与teardown框架结构。pytest支持5个层次的setup和teardown ,包括:session会话级、module模块级、function函数级、class类级、method方法级。
(1)模块级(setup_module/teardown_module):开始于模块始末(不在类中)
(2)函数级(setup_function/teardown_function):对函数用例生效(不在类中)
(3)方法级(setup_method/teardown_method):开始于方法始末(在类中)
(4)类级(setup_class/teardown_class):只在类中前后运行一次(在类中)
(5)还有兼容的类里面的层级(setup/teardown):运行在调用方法的前后
这些级别用在配置初始化setup和销毁teardown中,同样可以配合pytest中fixture功能而变得更强大。
二、pytest执行的查找原则和测试类及测试方法的命名
开箱即用,自动发现用例,pytest根据一定的规则搜索并运行测试。标准的测试搜索规则如下:
(1)从一个或多个目录开始查找,可以在命令行指定文件名或目录名。如果未指定,则使用当前目录。
(2)在该目录和所有子目录下递归查找测试模块。
(3)测试模块指文件名为test_*.py或者*_test.py的文件。
(4)在测试模块中查找以test_开头的函数名
(5)查找名字以Test*开头的类,其中,首先筛选掉包含__init__函数的类,再查找以test_开头类中的方法。
以上是标准的测试搜索规则,也可以更改它们。通