python – pytest fixtures在一个单独的目录中
我正在寻找创建一个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)取决于您如何导入模块. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |