解决参数关联
我们经常遇到如何摆脱用例之间的参数关联.
我们的目标是用例之间不要有关联,否则执行的时候如果顺序变化会导致用例执行失败,
我们就可以用fixture的特性,传递测试数据.
代码很简单,先写个fixture 返回数据:
@pytest.fixture()
def return_data():
return 10
我们开始用这个返回的数据:
def test_data(return_data):
assert return_data==10
直接用方法名字就可以使用返回的值.
使用多个fixture
好处是在编写测试函数时候 只是关注他的本身,其他的工作都交给fixture来完成.
我们应该养成良好的习惯,在测试用例用到fixture的时候 添加详细备注 格式为:
Given /When/Then 语法格式
fixtue
@pytest.fixture()
def return_data():
return 10
@pytest.fixture()
def return_data2():
return 20
测试代码:
def test_data(return_data,return_data2):
#Given 两个数值参数
# When 两个数值参数相加
b=return_data2+return_data
#Then 得出数值参数的值 b
assert b==30