我想测试一些数据库编写功能。我的测试用例场景是将几个数据创建到数据库中,然后使用输入来验证数据库中的每个数据。我试图使用夹具通过一个调用将多个数据创建到数据库中。对我来说最好的方法是什么?我在想 使用pytest.mark.parametrize和间接参数化到Fixture中,然后一一创建消息。在测试用例内部,然后验证返回值。这是正确的方法吗?
@pytest.fixture(scope='function')
def testcase_fix(self, request):
"""
create data into database based on request
:return json format for all create data
"""
# for i in request.param:
# database_write(dict(name=i['name'], address=i['address']))
# return database_get_data()
@pytest.mark.parametrize('testcase_fix', [[dict(name='1', address='1_address'), dict(name='2', address='2_address'),dict(name='3', address='3_address')]], indirect=['testcase_fix'])
def test_fixture(self, testcase_fix):
for index, value in enumerate(testcase_fix):
assert index + 1 == testcase_fix['id']
assert f'{index+1}' == testcase_fix['name']
assert f'{index+1}_address' == testcase_fix['address']