Flask Academy · Aula

O cliente de testes e os dispositivos de teste

Inicialize um aplicativo e um cliente para testes.

Aula 1 de 413 etapas

O cliente de testes e os dispositivos de teste é uma aula grátis de Flask Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Flask Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Flask Academy inclui 4 aulas no total.

Por que testar seu aplicativo Flask

Os testes permitem alterar o código sem medo. Com pytest, você comprova em segundos que cada rota continua funcionando, em vez de navegar manualmente pelo aplicativo. 🧪

Conheça o cliente de testes

O Flask inclui um navegador simulado chamado cliente de testes. Ele chama suas rotas na memória, sem servidor real nem rede.

client = app.test_client()
resp = client.get('/')

Obter um cliente do aplicativo

Crie o cliente chamando app.test_client(). Ele retorna um objeto cujos métodos correspondem aos verbos HTTP reais, como get e post.

from app import app
client = app.test_client()

Enviar uma solicitação e obter uma resposta

Chamar client.get('/') retorna um objeto de resposta. Você o inspeciona como faria com uma resposta real, mas tudo é executado instantaneamente dentro do Python.

resp = client.get('/')
print(resp.status_code)

O que é um acessório de teste

Um acessório de teste é um código de configuração reutilizável que o pytest executa antes de um teste. Em vez de recriar o cliente em todos os lugares, defina-o uma vez e reutilize-o.

Escrever um acessório de cliente

Decore uma função com @pytest.fixture e produza um cliente de testes. Qualquer teste que o nomeie como argumento receberá um cliente novo.

@pytest.fixture
def client():
    yield app.test_client()

Solicitar o acessório pelo nome

Para usar um acessório, basta adicionar seu nome como um argumento do teste. O Pytest encontra a correspondência e injeta o valor automaticamente.

def test_home(client):
    resp = client.get('/')
    assert resp.status_code == 200

Yield versus Return em acessórios

Usar yield permite executar a limpeza depois que o teste termina. O código antes de yield prepara o ambiente; o código depois de yield desfaz tudo.

@pytest.fixture
def client():
    yield app.test_client()
    print('cleanup here')

Onde colocar os acessórios

Coloque os acessórios compartilhados em um arquivo chamado conftest.py. O Pytest o encontra automaticamente, então todos os arquivos de teste podem usar esses acessórios sem importação.

Nomear arquivos de teste

O Pytest encontra arquivos que começam com test_ e funções com nomes no mesmo padrão. Siga essa convenção e seus testes serão executados com um único comando.

# file: test_routes.py
def test_home(client):
    ...

Executar toda a suíte

Na raiz do projeto, execute pytest no terminal. Ele reúne todos os arquivos de teste, executa-os e exibe um resumo claro de aprovação ou falha.

$ pytest
2 passed in 0.04s

Verificação rápida

Você quer um cliente de testes reutilizável. Como fazer isso?

Recapitulação: cliente e acessórios

Você conheceu o cliente de teste em memória e aprendeu a compartilhá-lo com uma fixture em conftest.py. Agora todo teste começa com um cliente pronto. 🎉

Grátis para começar

Aprenda Python com um tutor de IA — grátis

Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.

Cursos
30
Aulas
120

Perguntas Frequentes

A aula “O cliente de testes e os dispositivos de teste” é grátis?

Sim — o texto completo de “O cliente de testes e os dispositivos de teste” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Flask Academy, atualize para CoddyKit PRO. O curso de Flask Academy inclui 4 aulas no total.

O que vou aprender em “O cliente de testes e os dispositivos de teste”?

Inicialize um aplicativo e um cliente para testes. Você pratica Flask Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Flask Academy?

Nenhuma experiência prévia é necessária. Flask Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.

Quanto tempo leva a aula “O cliente de testes e os dispositivos de teste”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Flask Academy?

Sim. Cada aula de Flask Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. O cliente de testes e os dispositivos de teste
  2. Verifique rotas e JSON
  3. Isole testes com um banco de dados de teste
  4. Teste endpoints autenticados
← Voltar para Flask Academy