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

python – pytest fixtures在一个单独的目录中

发布时间:2020-12-20 13:53:02 所属栏目:Python 来源:网络整理
导读:我正在寻找创建一个pytest结构,我可以完全分离灯具和测试.这种分离的原因是我希望将fixtures目录作为外部项目包含在subversion中,并在多个项目之间共享. 所需结构的树 project| conftest.py|+---fixtures| __init__.py| conftest.py| fixture_cifs.py| fixtu
我正在寻找创建一个pytest结构,我可以完全分离灯具和测试.这种分离的原因是我希望将fixtures目录作为外部项目包含在subversion中,并在多个项目之间共享.

所需结构的树

project
|   conftest.py
|
+---fixtures
|       __init__.py
|       conftest.py
|       fixture_cifs.py
|       fixture_ftp.py
|       fixture_service.py
|
---tests
    |   test_sometest1.py
    |   test_sometest2.py
    |
    ---configurations
            sometest1.conf
            sometest2.conf

我想在一个单独的文件中实现每个fixture的功能,以避免单个巨大的conftest.py. conftest.py只包含包装器以返回用@ pytest.fixture注释的每个夹具的实例.当conftest.py,fixture _ *.py和test _ * .py文件都在同一目录中时,使用夹具和测试是没有问题的.

但是,当灯具在子目录中分离时,我得到了来自pytest fixture’cifs’未找到的错误,可用的灯具:….我还没有找到任何文档解释如何将灯具放置在test _ * .py或者之外conftest.py与test _ *.py相邻,但没有任何迹象表明这也不起作用.

使用pytest时如何将灯具放在各自的子目录中?

解决方法

阅读 here如何构建您的测试.

你的fixture目录似乎不在包中(项目没有__init__.py所以不能将project.fixtures作为fixtures导入,因为它不在路径中.您可以在tests / conftest.py(sys.path.append(os.path.join(os.path.dirname(__ file __),os.pardir,“fixtures”))或sys.path中的路径中添加所需的目录. .append(os.path.join(os.path.dirname(__ file __),os.pardir)取决于您如何导入模块.

(编辑:李大同)

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

    推荐文章
      热点阅读