'''
函数级(setup_function/teardown_function只对函数用例生
效(不在类中)在类中是用该方法不生效
'''
import pytest
def setup_module():
"""
这是一个module级别的setup,它会在本module(test_fixt_function.py)里
所有test执行之前,被调用一次。
注意,它是直接定义为一个module里的函数"""
print()
print("-------------- setup before module --------------")
def teardown_module():
"""
这是一个module级别的teardown,它会在本module(test_fixt_function.py)里
所有test执行完成之后,被调用一次。
注意,它是直接定义为一个module里的函数"""
print("-------------- teardown after module --------------")
def setup_function():
print()
print("setup_function:每个用例前开始执行")
def teardown_function():
print("teardown_function:没个用例后开始执行")
def test_one():
print("正在执行test_one")
x = "hello word"
assert "h" in x
def test_two():
print("正在执行test_two")
a = "hello"
b = "hello word"
assert a in b
if __name__ == '__main__':
pytest.main(['-s','test_fixt_function.py'])
运行结果:
============================= test session starts =============================
platform win32 -- Python 3.7.4, pytest-5.1.0, py-1.8.0, pluggy-0.12.0
rootdir: E:\py_pytest\interfacecollected 2 items
test_fixt_function.py
-------------- setup before module --------------
setup_function:每个用例前开始执行
.正在执行test_one
teardown_function:没个用例后开始执行
setup_function:每个用例前开始执行
.正在执行test_two
teardown_function:没个用例后开始执行
-------------- teardown after module --------------
[100%]
============================== 2 passed in 0.02s ==============================