Sobes.tech
Back to questions
Middle
7

Что такое фикстура в pytest?

Companies where asked
Napoleon IT

Answer from AI

sobes.tech AI

В pytest фикстура — это функция, которая подготавливает и предоставляет тестам необходимые ресурсы или данные. Она позволяет избежать дублирования кода и управлять состоянием тестовой среды.

Пример фикстуры, которая создаёт временный файл:

import pytest

@pytest.fixture
def temp_file(tmp_path):
    file = tmp_path / "test.txt"
    file.write_text("hello")
    return file


def test_read(temp_file):
    content = temp_file.read_text()
    assert content == "hello"

Фикстуры могут быть с разной областью видимости (function, module, session), что позволяет гибко управлять временем жизни ресурсов.