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实战部分
45 0
|
测试技术
34-pytest-Hooks函数之获取用例执行结果
34-pytest-Hooks函数之获取用例执行结果
|
测试技术 Python
pytest fixture装饰器
pytest fixture装饰器
|
测试技术
pytest学习和使用13-Pytest的fixture如何使用request传入参数?
pytest学习和使用13-Pytest的fixture如何使用request传入参数?
100 0
|
测试技术
pytest学习和使用9-fixture中conftest.py如何使用?
pytest学习和使用9-fixture中conftest.py如何使用?
129 0
pytest学习和使用9-fixture中conftest.py如何使用?
|
测试技术
pytest学习和使用8-fixture如何实现teardown功能?(yield的使用)
pytest学习和使用8-fixture如何实现teardown功能?(yield的使用)
98 0
|
测试技术 Python
pytest学习和使用6-fixture如何使用?
pytest学习和使用6-fixture如何使用?
110 0
|
测试技术 Python
pytest学习和使用4-pytest和Unittest中setup、teardown等方法详解和使用(最全)
pytest学习和使用4-pytest和Unittest中setup、teardown等方法详解和使用(最全)
120 0