加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

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

发布时间:2020-12-16 22:57:08 所属栏目:Python 来源:网络整理
导读:我有不同的测试文件夹(包).我想设置和拆除特定包(文件夹)的一些数据. 问题是在运行该文件夹的测试用例之前执行了set_up(),但是在运行所有测试用例之后,tear_down没有执行.它在运行其他软件包(文件夹)的所有测试用例之后执行(在整个pytest会话之后). [conftes
我有不同的测试文件夹(包).我想设置和拆除特定包(文件夹)的一些数据.

问题是在运行该文件夹的测试用例之前执行了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风格的灯具.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读