传参方式
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"])