运行测试之前的pytest和数据库清理

时间:2018-12-05 05:13:41

标签: python python-3.x testing integration-testing pytest

我正在使用Flask构建Web服务和pytest进行测试

我正在使用pytest固定装置来设置和拆除测试资源,但是我需要测试POST端点,该端点将在数据库中创建一些记录

我们如何清理这些记录?

1 个答案:

答案 0 :(得分:2)

您可以use a fixture to do that cleanup

@pytest.fixture
def cleanup():
    yield
    # This is executed when the test using the fixture is done
    db_cleanup()

def test_records_created(cleanup):     # pylint: disable=redefined-outer-name,unused-argument
    response = app.test_client().post('/path', json=payload)
    assert response.status_code == 200
    assert ...