pytest-datafixtures
Подключаемое расширение для pytest, упрощающее работу с фикстурами данных.
Репозиторий: https://github.com/idlesign/pytest-datafixtures
Автор:
Игорь Стариков
Предлагает общий подход к хранению файлов-фикстур данных и доступ к ним.
Файлы с данными помещаются в директорию
Расширение предлагает следующие pytest-фикстуры для доступа к данным.
datafix_dir
datafix
datafix_read
Смотрите также:
* КБМПи №7 Как работать с фикстурами данных в 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?