首页 > 解决方案 > 在所有测试执行后如何确保夹具执行?

问题描述

我创建了几个测试,它们在测试文件夹中创建不同的文件和文件夹。我想删除通过测试创建的所有文件夹,但仅在测试执行结束时。我写了这个夹具:

import shutil

@fixture(scope='session',autouse=True)
def delete_files():
    yield None
    shutil.rmtree('test-folder')

但不知何故,在所有测试都通过之后,这并没有最后执行。如何解决这个问题并在测试执行结束时删除所有测试文件夹?

标签: pythondirectorypytestfixtures

解决方案


对于另一种方法,我以前使用过该tmp_path目录,请参阅此处以获取示例用例,并查看此处以获取该夹具的文档。


推荐阅读