I'm looking to create a pytest structure where I can separate the fixtures from the tests completely. The reason for this separation is that I want to include the fixtures directory as an external item in subversion and share it between multiple projects.tree of desired structureproject| 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.confI want to implement the functionality for each fixture in a separate file in order to avoid a single huge conftest.py. conftest.py would just include wrappers to return an instance of each fixture annotated with @pytest.fixture. There is no problem using a fixture together with a test when the conftest.py, fixture_*.py and test_*.py files are all in the same directory.However, when the fixtures are separated in a subdirectory I get an error from pytest fixture 'cifs' not found, available fixtures: .... I haven't found any documentation explaining how to place fixtures outside of test_*.py or the conftest.py adjacent to test_*.py, but nothing to indicate that this shouldn't work either.How can I place fixtures in their own subdirectory when using pytest? 解决方案 Please add the following in your conftest.py import pytest pytest_plugins = [ "fixtures.conftest", "fixtures.fixture_cifs", "fixtures.fixture_ftp", "fixtures.fixture_service" ]This ensures that all fixtures declared under fixtures/ will be found by pytestA similar case can be seen here: https://stackoverflow.com/a/54736237/6655459 这篇关于pytest固定装置在单独的目录中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持! 上岸,阿里云!
07-28 04:59
查看更多