Skip to content

gabrielcnr/pytest-datadir

Folders and files

NameName
Last commit message
Last commit date
Feb 7, 2025
Feb 7, 2025
Sep 28, 2023
Sep 16, 2022
Feb 7, 2025
Mar 31, 2025
Sep 16, 2022
Feb 7, 2025
Sep 16, 2022
Sep 28, 2023
Feb 7, 2025
Feb 7, 2025
Nov 8, 2023
Feb 7, 2025

Repository files navigation

pytest-datadir

pytest plugin for manipulating test data directories and files.

Build Status PyPI CondaForge Python Version Code style: black

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.

License

MIT.