Testes em Python com pytest
274 páginas
Portuguese
PDF
4.5

Testes em Python com pytest

Testes em Python com pytest (Тестирование на Python с pytest)

Autor:

Ano:

Resumo:

Introdução

O livro «Python Testing with pytest» (segunda edição, 2022) de Brian Okken é um dos guias mais conceituados e práticos sobre testes em Python usando o framework pytest. Se você quer não apenas escrever testes, mas fazê-lo de forma eficiente, elegante e com o mínimo de código — este livro se tornará seu guia de referência. Ele é voltado para desenvolvedores que já conhecem os fundamentos do Python e oferece um mergulho profundo nas capacidades do pytest, começando com asserts básicos e indo até plugins complexos e integração com CI/CD.

Sobre o que é o livro

O livro é estruturado como um guia prático sequencial. O autor não sobrecarrega o leitor com teoria, mas vai direto ao ponto: mostra como escrever testes simples e, em seguida, gradualmente complexifica os exemplos. Os principais tópicos abordados no livro são:

  • Fundamentos do pytest: instalação, execução, escrita dos primeiros testes, uso de assert.
  • Fixtures: criação, escopo, parametrização de fixtures, fixtures embutidas (tmp_path, capsys, monkeypatch).
  • Parametrização de testes: decorador @pytest.mark.parametrize, combinação de parâmetros, geração de dados de teste.
  • Marcação (marks): marcadores embutidos (skip, xfail, parametrize), criação de marcadores próprios, filtragem de testes.
  • Plugins e extensões: visão geral de plugins populares (pytest-cov, pytest-mock, pytest-django, pytest-flask), escrita de plugins próprios.
  • Integração com outras ferramentas: unittest, doctest, tox, nox, sistemas de CI (GitHub Actions, Jenkins).
  • Testes de aplicações web e APIs: trabalho com Flask, Django, FastAPI, teste de requisições HTTP.
  • Técnicas avançadas: uso de conftest.py, sobrescrita de fixtures, geração dinâmica de testes, teste de código assíncrono.

Para quem é este livro

O livro será útil para um amplo público de leitores:

  • Desenvolvedores Python iniciantes que já sabem escrever código, mas querem aprender testes do zero.
  • Programadores experientes que usam unittest ou nose e desejam migrar para o pytest, mais moderno e flexível.
  • Desenvolvedores full-stack e backend que criam aplicações web com Flask, Django ou FastAPI.
  • Engenheiros DevOps responsáveis pela configuração de CI/CD e qualidade de código.
  • Líderes de equipe e gerentes técnicos que desejam implementar uma cultura de testes na equipe.

O que o leitor aprenderá

Após ler o livro, você será capaz de:

  • Escrever testes limpos, concisos e sustentáveis com pytest.
  • Usar fixtures de forma eficiente para preparar e limpar o ambiente de teste.
  • Parametrizar testes para verificar múltiplos cenários sem duplicação de código.
  • Aplicar marcadores para agrupar, pular e esperar erros em testes.
  • Integrar o pytest com bibliotecas populares (mock, coverage, selenium).
  • Configurar a execução automática de testes em sistemas de CI.
  • Escrever seus próprios plugins para estender as capacidades do pytest.
  • Testar aplicações web, APIs REST e código assíncrono.

Pontos fortes do livro

  • Abordagem prática. Cada capítulo contém vários exemplos de código que podem ser executados e modificados imediatamente. O autor não apenas explica conceitos, mas mostra como aplicá-los em projetos reais.
  • Atualidade. A segunda edição (2022) cobre as versões mais recentes do pytest (7.x), novos recursos como parametrização de fixtures, suporte aprimorado para assincronia, além de ferramentas modernas de CI/CD.
  • Estrutura. O livro é logicamente organizado: do simples ao complexo. Pode ser lido sequencialmente ou usado como referência, transição

Recommendations