ExpertiDict

Python · Intermediário · Inglês · Técnico

fixture

/ˈfɪkstʃəɹ/substantivo

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.

Veja também

Todos os termos de Python