pytest用例运行级别:
●模块级(setup_module/teardown_module)开始于模块始末,全局的
●函数级(setup_function/teardown_function)只对函数用例生效
●类级(setup_class/teardown_class)只在类中前后运行一次(在类中生效,类外不生效)
●方法级(setup_method/teardown_method)开始于方法始末(在类中生效,类外不生效)
●类里面的(setup/teardown)运行在调用方法的前后(类中生效、类外有函数时生效)
函数级:
函数前置setup_function和后置teardown_function,放类中无效,放类外且类外有函数用例时才生效,每个用例开始前和结束后各调用一次,调用多次
import pytest
def setup_function():
print("setup_function:每个用例开始前都会执行")
def teardown_function():
print("teardown_function:每个用例结束后都会执行")
def test_one():
print("正在执行---test_one")
def test_two():
print("正在执行---test_two")
def login():
print("正在执行---test_two")
if __name__ == "__main__":
pytest.main(["-s","test02.py"])
"C:\Program Files\Python35\python.exe" C:/Users/wangli/PycharmProjects/Test/Test/test02.py
============================= test session starts =============================
platform win32 -- Python 3.5.2, pytest-5.1.2, py-1.8.0, pluggy-0.12.0
rootdir: C:\Users\wangli\PycharmProjects\Test\Test
collected 2 items
test02.py setup_function:每个用例开始前都会执行
正在执行---test_one
.teardown_function:每个用例结束后都会执行
setup_function:每个用例开始前都会执行
正在执行---test_two
.teardown_function:每个用例结束后都会执行
============================== 2 passed in 0.14s ==============================
Process finished with exit code 0
模块前置setup_module和后置teardown_module,放类中无效,放类外且类外有函数用例或类内有函数用例时才生效,整个.