pytest-datadir
pytest plugin for manipulating test data directories and files.
Usage
pytest-datadir will look up for a directory with the name of your module or the global 'data' folder. Let's say you have a structure like this:
.
├── data/
│  └── hello.txt
├── test_hello/
│  └── spam.txt
└── test_hello.py
You can access the contents of these files using injected variables datadir
(for test_ folder) or shared_datadir
(for data folder):
def test_read_global(shared_datadir):
contents = (shared_datadir / "hello.txt").read_text()
assert contents == "Hello World!\n"
def test_read_module(datadir):
contents = (datadir / "spam.txt").read_text()
assert contents == "eggs\n"
pytest-datadir will copy the original file to a temporary folder, so changing the file contents won't change the original data file.
Both datadir
and shared_datadir
fixtures are pathlib.Path
objects.
Releases
Follow these steps to make a new release:
- Create a new branch
release-X.Y.Z
frommaster
. - Update
CHANGELOG.rst
. - Open a PR.
- After it is green and approved, push a new tag in the format
X.Y.Z
.
Travis will deploy to PyPI automatically.
Afterwards, update the recipe in conda-forge/pytest-datadir-feedstock.
License
MIT.