06-pytest-fixture的三种调用方式

简介: 06-pytest-fixture的三种调用方式

传参方式

1. # -*- coding: utf-8 -*-
2. # @Time    : 2021/10/10
3. # @Author  : 大海
4. 
5. 
6. # 1.传参调用
7. import pytest
8. 
9. 
10. @pytest.fixture()
11. def start():
12. print("启动app")
13. 
14. 
15. # 可用于单独函数
16. def test_case0(start):
17. print('业务0case')
18. 
19. 
20. class TestClass(object):
21. # 可用于类内的方法
22. def test_case1(self, start):
23. print("业务1case")
24. 
25. def test_case2(self, start):
26. print("业务2case")
27. 
28. 
29. if __name__ == '__main__':
30.     pytest.main(["-s", "test_07.py"])

装饰器usefixtures

1. # -*- coding: utf-8 -*-
2. # @Time    : 2021/10/10
3. # @Author  : 大海
4. 
5. 
6. # 2.使用装饰器调用
7. import pytest
8. 
9. 
10. @pytest.fixture()
11. def start():
12. print("启动app")
13. 
14. 
15. @pytest.mark.usefixtures('start')
16. def test_case0(start):
17. print('业务0case')
18. 
19. 
20. @pytest.mark.usefixtures('start')
21. class TestClass(object):
22. 
23. def test_case1(self):
24. print("业务1case")
25. 
26. def test_case2(self):
27. print("业务2case")
28. 
29. 
30. if __name__ == '__main__':
31.     pytest.main(["-s", "test_08.py"])

自动调用autouse=True

1. # -*- coding: utf-8 -*-
2. # @Time    : 2021/10/10
3. # @Author  : 大海
4. 
5. 
6. # 3.autouse设置为True,自动调用fixture功能
7. import pytest
8. 
9. 
10. # 设置模块级别,在当前文件只执行一次
11. @pytest.fixture(scope='module', autouse=True)
12. def start():
13. print("启动app")
14. 
15. 
16. # 默认方法级别,每个case前调用
17. @pytest.fixture(autouse=True)
18. def test_case0(start):
19. print('回到首页')
20. 
21. 
22. class TestClass(object):
23. 
24. def test_case1(self):
25. print("业务1case")
26. 
27. def test_case2(self):
28. print("业务2case")
29. 
30. 
31. if __name__ == '__main__':
32.     pytest.main(["-s", "test_09.py"])
相关文章
|
测试技术 Python
Pytest前后置以及fixture实战部分
Pytest前后置以及fixture实战部分
49 0
|
测试技术 Python
pytest--fixture
pytest--fixture
|
Web App开发 测试技术
10-pytest-parametrize中使用fixture
10-pytest-parametrize中使用fixture
|
测试技术 Python
05-pytest-通过confest.py共享fixture
05-pytest-通过confest.py共享fixture
|
测试技术
34-pytest-Hooks函数之获取用例执行结果
34-pytest-Hooks函数之获取用例执行结果
|
测试技术
pytest conftest.py和fixture的配合使用
pytest conftest.py和fixture的配合使用