python – 在pytest中使用conftest进行setup / teardown

我有不同的测试文件夹(包).我想设置和拆除特定包(文件夹)的一些数据.

问题是在运行该文件夹的测试用例之前执行了set_up(),但是在运行所有测试用例之后,tear_down没有执行.它在运行其他软件包(文件夹)的所有测试用例之后执行(在整个pytest会话之后).

[conftest.py]

     @pytest.fixture(scope="session",autouse=True)
         def set_up(request):
            '''Test package setup'''

         def tear_down():
            '''Test package teardown'''

每个文件夹都包含__init__.py文件,这很明显.

那么如何在运行set_up的文件夹中运行所有测试用例之后如何执行tear_down()?

据我所知:scope =“module”在这种情况下是无用的,因为我不想为每个测试设置和拆卸.

任何帮助都会很棒.
谢谢

解决方法

pytest不直接支持包级别的灯具.
unittest也没有.

至于主要的测试框架,我相信nose is the only one to support package fixtures.
但是,nose2正在降低包装夹具支撑.见nose2 docs.

pytest支持module,function,class,and method level fixtures用于xunit风格的灯具.

相关文章

在这篇文章中,我们深入学习了XPath作为一种常见的网络爬虫技巧。XPath是一种用于定位和选择XML文档中特...
祝福大家龙年快乐!愿你们的生活像龙一样充满力量和勇气,愿你们在新的一年里,追逐梦想,勇往直前,不...
今天在爬虫实战中,除了正常爬取网页数据外,我们还添加了一个下载功能,主要任务是爬取小说并将其下载...
完美收官,本文是爬虫实战的最后一章了,所以尽管本文着重呈现爬虫实战,但其中有一大部分内容专注于数...
JSON是一种流行的数据传输格式,Python中有多种处理JSON的方式。官方的json库是最常用的,它提供了简单...
独立样本T检验适用于比较两组独立样本的均值差异,而配对T检验则适用于比较同一组样本在不同条件下的均...