我来自Rails背景,是Python的新手。不幸的是,我在Google上进行搜索和搜索均未成功。
我们正在构建没有框架的Python应用程序。我们正在使用pytest进行测试,并使用factory-boy作为工厂。
我想知道我们是否需要为应用程序提供数据库清理程序。我发现了pytest_sessionstart和pytest_sessionfinish挂钩,它们似乎是进行清理的好地方。但是我不知道我们是否还需要像Rails测试中使用的数据库清理器之类的东西。
任何信息或帮助,我们将不胜感激!如果我确实需要更清洁的工具,则明确的说明或指向文档的链接将非常有用。
答案 0 :(得分:1)
当我有类似的需求时,我使用Pytest固定装置(或yield固定装置,更适合现代python)来完成这项工作。
例如
# without editor, so with errors
@pytest.yield_fixture()
def db():
db = create_db()
try:
yield db
finally:
cleanup_db(db)
def test_something(db):
do_ugly_things(db)
assert false