Repolode
gabrielcnr

gabrielcnr/pytest-datadir

Плагин для pytest, который копирует каталоги с тестовыми данными во временные папки, чтобы тесты могли безопасно читать и изменять файлы фикстур.

Звёзды
277
Форки
28
Открытые issues
8
Последний коммит
4 дня назад

Что это?

pytest-datadir предоставляет тестам доступ к файлам данных, хранящимся рядом с ними. По умолчанию модуль тестов с именем test_hello.py может использовать соответствующий каталог test_hello/ через фикстуру datadir, а каталог data/ в корне проекта доступен через shared_datadir. Обе фикстуры возвращают объекты pathlib.Path, поэтому для чтения файлов можно использовать стандартные операции с путями.

Содержимое каталога с данными копируется во временное место для каждого теста. Тесты могут записывать и изменять файлы, не затрагивая исходные фикстуры и другие тесты. Фикстуры lazy_datadir и lazy_shared_datadir, добавленные в версии 1.7.0, копируют файлы только при обращении к ним через joinpath или оператор / — это позволяет не копировать большие каталоги, которые тест не использует.

Ключевые возможности

  • 01Предоставляет каталог данных для конкретного модуля через фикстуру datadir.
  • 02Предоставляет общий каталог данных через фикстуру shared_datadir.
  • 03Копирует данные во временную папку, сохраняя исходные файлы неизменными.
  • 04Предлагает lazy_datadir и lazy_shared_datadir, которые копируют файлы только при обращении к ним.
  • 05Возвращает из фикстур объекты pathlib.Path.

Сценарии использования

  • Хранение примеров входных файлов и фикстур для тестов парсеров и обработки файлов.
  • Написание тестов, создающих или изменяющих файлы без изменения исходных фикстур.
  • Совместное использование общих тестовых данных в разных модулях через единый каталог данных.

Что важно знать

  • В метаданных репозитория указано, что лицензия — NOASSERTION, а в README указана MIT. Перед использованием проверьте лицензию.

В подборках

Темы

Частые вопросы

Что такое pytest-datadir?
Плагин для pytest, который копирует каталоги с тестовыми данными во временные папки, чтобы тесты могли безопасно читать и изменять файлы фикстур. pytest-datadir предоставляет тестам доступ к файлам данных, хранящимся рядом с ними. По умолчанию модуль тестов с именем test_hello.py может использовать соответствующий каталог test_hello/ через фикстуру datadir, а каталог data/ в корне проекта доступен через shared_datadir. Обе фикстуры возвращают объекты pathlib.Path, поэтому для чтения файлов можно использовать стандартные операции с путями.
pytest-datadir можно использовать бесплатно? Какая у него лицензия?
pytest-datadir распространяется с открытым исходным кодом под лицензией Other. Перед использованием в коммерческих продуктах проверьте условия лицензии.
pytest-datadir всё ещё поддерживается?
Активно поддерживается. Последний коммит в pytest-datadir — 3 нояб. 2026 г..
Для чего можно использовать pytest-datadir?
Хранение примеров входных файлов и фикстур для тестов парсеров и обработки файлов. Написание тестов, создающих или изменяющих файлы без изменения исходных фикстур. Совместное использование общих тестовых данных в разных модулях через единый каталог данных.
Где скачать pytest-datadir?
Исходный код и инструкции по установке — на GitHub: https://github.com/gabrielcnr/pytest-datadir

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Фреймворк для тестирования Python: помогает писать небольшие тесты и подходит для сложного функционального тестирования приложений и библиотек.

14,7 тыс.+13 за неделю3,6 тыс.PythonMITАктивно поддерживаетсяОбновлён 16 часов назад

Python-пакет для генерации фиктивных данных — имён, адресов, текста и многого другого — для заполнения баз данных, тестирования и анонимизации данных.

19,5 тыс.+11 за неделю2,1 тыс.PythonMITАктивно поддерживаетсяОбновлён 10 дней назад