Python · Intermediário · Inglês · Técnico
fixture
Função marcada com @pytest.fixture que prepara e entrega recursos a um teste, como banco, cliente HTTP ou dados, e é injetada pelo nome do parâmetro.
Onde usar
Evita repetir o setup em cada teste e permite limpeza depois de um yield. Em code review, discute-se o escopo: function, module ou session.
Em código
import pytest
@pytest.fixture
def usuario():
return {'nome': 'Ana'}
def test_nome(usuario):
assert usuario['nome'] == 'Ana'Exemplos
Move the database setup into a fixture.
Mova a preparação do banco para uma fixture.
This fixture has session scope, so it runs once.
Essa fixture tem escopo de sessão, então roda uma vez.
Cuidado
Não chame a fixture como função comum nem a importe sem necessidade; o pytest a resolve pelo nome do parâmetro, e o conftest.py a compartilha.