文章目录
学pytest就不得不说fixture,fixture是pytest的精髓所在,就像unittest中的setup和teardown一样
一、fixture
-
做测试前后的初始化设置,如测试数据准备,链接数据库,打开浏览器等这些操作都可以使用fixture来实现
-
测试用例的前置条件可以使用fixture实现
-
支持经典的xunit fixture ,像unittest使用的setup和teardown
-
fixture可以实现unittest不能实现的功能,比如unittest中的测试用例和测试用例之间是无法传递参数和数据的,但是fixture却可以解决这个问题
二、fixture定义
fixture通过@pytest.fixture()装饰器装饰一个函数,那么这个函数就是一个fixture,看个实例
import pytest
@pytest.fixture()
def fixtureFunc():
return 'fixtureFunc'
def test_fixture(fixtureFunc):
print('我调用了{}'.format(fixtureFunc))
if __name__=='__main__':
pytest.main(['-s', 'test_fixture.py'])
执行结果
test.py 我调用了fixtureFunc
.
=========