06-pytest-fixture的三种调用方式
Posted 爱学习de测试小白
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了06-pytest-fixture的三种调用方式相关的知识,希望对你有一定的参考价值。
目录
传参方式
# -*- coding: utf-8 -*-
# @Time : 2021/10/10
# @Author : 大海
# 1.传参调用
import pytest
@pytest.fixture()
def start():
print("启动app")
# 可用于单独函数
def test_case0(start):
print('业务0case')
class TestClass(object):
# 可用于类内的方法
def test_case1(self, start):
print("业务1case")
def test_case2(self, start):
print("业务2case")
if __name__ == '__main__':
pytest.main(["-s", "test_07.py"])
装饰器usefixtures
# -*- coding: utf-8 -*-
# @Time : 2021/10/10
# @Author : 大海
# 2.使用装饰器调用
import pytest
@pytest.fixture()
def start():
print("启动app")
@pytest.mark.usefixtures('start')
def test_case0(start):
print('业务0case')
@pytest.mark.usefixtures('start')
class TestClass(object):
def test_case1(self):
print("业务1case")
def test_case2(self):
print("业务2case")
if __name__ == '__main__':
pytest.main(["-s", "test_08.py"])
自动调用autouse=True
# -*- coding: utf-8 -*-
# @Time : 2021/10/10
# @Author : 大海
# 3.autouse设置为True,自动调用fixture功能
import pytest
# 设置模块级别,在当前文件只执行一次
@pytest.fixture(scope='module', autouse=True)
def start():
print("启动app")
# 默认方法级别,每个case前调用
@pytest.fixture(autouse=True)
def test_case0(start):
print('回到首页')
class TestClass(object):
def test_case1(self):
print("业务1case")
def test_case2(self):
print("业务2case")
if __name__ == '__main__':
pytest.main(["-s", "test_09.py"])
以上是关于06-pytest-fixture的三种调用方式的主要内容,如果未能解决你的问题,请参考以下文章