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 structure
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
I 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?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…