- # 功能函数
- def multiply(a, b):
- return a * b
- # ------------ fixture---------------
-
- def setup_module(module):
- print("======setup_module 在当前文件中所有测试用例之前=====")
-
-
- def teardown_module(module):
- print("======teardown_module 在当前文件中所有测试用例之后=====")
-
-
- def setup_function(function):
- print("setup_function=====>在每个测试函数之前执行")
-
-
- def teardown_function(function):
- print("setup_function=====>在每个测试函数之后执行")
-
-
- def setup():
- print("setup---在每个测试函数之前------>")
-
-
- def teardown():
- print("teardown----在每个测试函数之后可以作用于类方法----->")
-
-
- # ---------------测试用例-------------
-
- def test_mult_3_4():
- print("test_mult_3_4")
- assert multiply(3, 4) == 12
-
-
- def test_mult_a_4():
- print("test_mult_a_3")
- assert multiply('a', 3) == 'aaa'

没有 setup/teardown?
- # 功能函数
- def multiply(a, b):
- return a * b
-
-
- class TestMultiply:
- # =====fixtures========
- @classmethod
- def setup_class(cls):
- print("setup_class=========>")
-
- @classmethod
- def teardown_class(cls):
- print("teardown_class=========>")
-
- def setup_method(self, method):
- print("setup_method----->>")
-
- def teardown_method(self, method):
- print("teardown_method-->>")
-
- def setup(self):
- print("setup----->")
-
- def teardown(self):
- print("teardown-->")
-
- # =====测试用例========
- def test_numbers_5_6(self):
- print('test_numbers_5_6')
- assert multiply(5, 6) == 30
-
- def test_strings_b_2(self):
- print('test_strings_b_2')
- assert multiply('b', 2) == 'bb'

- rootdir: E:\data\web测试\Selenium3自动化测试实战——基于Python语言\mycode\pytest_example\fixture
- plugins: anyio-3.5.0
- collected 2 items
-
- test_fixtures_02.py setup_class=========>
- setup_method----->>
- test_numbers_5_6
- .teardown_method-->>
- setup_method----->>
- test_strings_b_2
- .teardown_method-->>
- teardown_class=========>