前言
pytest提供了相对自由和层次丰富的setup与teardowm的框架结构,即测试用例的前后置。
setup()——用于测试前的准备工作
teardown()——用于测试结束后的清理工作
1、pytest提供了5个层次的setup和teardown
session会话级、module模块级、class类级、function函数级、method方法级
2、①模块级setup_module/teardown_module——在模块文件开始和结束只执行一次,不存在类中
②函数级setup_function/teardown_function——每个非类函数测试用例开始前和结束后都会执行一次
③方法级setup_method/teardown_method——每个类中的测试用例方法开始和结束前都会执行一次
④类级setup_class/teardowm_class——每个类的前后只执行一次
⑤兼容类/函数方法setup/teardown——兼容在类中,在每个测试用例方法前后都会执行一次
3、5个层级的脚本实战如下:
终端执行结果如图所示:
注意点:在pytest v7以后的版本,类中同时存在setup_method/teardown_method和setup/teardown方法时,只会执行setup_method/teardown_method方法