Подключаемое расширение для pytest, упрощающее работу с фикстурами данных.
Предлагает общий подход к хранению файлов-фикстур данных и доступ к ним.

Файлы с данными помещаются в директорию datafixtures на уровне ваших test_*.py файлов:

    tests
|-- datafixtures
|-- test_basic.py
|
|-- subdirectory
|---- datafixtures
|---- test_other.py

Расширение предлагает следующие pytest-фикстуры для доступа к данным.

  • datafix_dir - Объект пути до директории с фикстурами.
  • datafix - Объект пути до файла, имя которого совпадает с именем тестовой функции.
  • datafix_read - Возвращает содержимое фикстуры по имени.


datafix_dir

    def test_me(datafix_dir):

# вернётся Path-объект.
assert datafix_dir.exists()

# Собираем имена файлов с данными.
files = list(f'{file.name}' for file in datafix_dir.iterdir())

# Читаем содержимое фикстуры как текст.
# То же, что и datafix_read (см. ниже).
filecontent = (datafix_dir / 'expected.html').read_text()

# Читаем байты.
filecontent = (datafix_dir / 'dumped.bin').read_bytes()

datafix

    def test_me(datafix):
# Читаем datafixtures/test_me.txt
filecontents = datafix.with_suffix('.txt').read_text()

datafix_read

    def test_datafix_read(datafix_read):
# Читаем datafixtures/expected.html
filecontents = datafix_read('expected.html')

Смотрите также:
* КБМПи №7 Как работать с фикстурами данных в pytest?

Категории

Область
Проект

На заметку
У нас есть новостная группа в Telegram. Там же можно обсудить интересующие вопросы. Ссылка в самом низу страницы.