📊 Capítulo 18: Arquitetura, Pytest & Auditoria
Especialização em Sistemas com Python
🗺️ O Ciclo de Testes com Pytest, Fixtures e Trilha de Auditoria
flowchart TD
TEST["Teste Automatizado (pytest)"]
--> FIXTURE["@pytest.fixture (Injeta Banco de Dados em Memória :memory:)"]
--> ACT["Executa Ação de Negócio (ex: efetuar_transferencia())"]
--> ASSERT["Asserções Idiomáticas: assert saldo_final == 100.0"]
--> AUDIT["Gera Registro Estruturado na Trilha de Auditoria (.jsonl datado) 📜"]
style TEST fill:#ede7f6,stroke:#512da8,stroke-width:2px
style FIXTURE fill:#fff3e0,stroke:#ff9800,stroke-width:2px
style ACT fill:#e1f5fe,stroke:#03a9f4,stroke-width:1.5px
style ASSERT fill:#e8f5e9,stroke:#4caf50,stroke-width:2px
style AUDIT fill:#00897b,stroke:#004d40,stroke-width:2px,color:#ffffff
🎯 Slide 1: A Superioridade do Pytest
-
Elimina a necessidade de classes e heranças de
unittest.TestCase. - Asserções Simples e Claras: Use apenas
assert a == b. O Pytest reescreve a AST para exibir a árvore de diferenças detalhada em caso de falha!
🎯 Slide 2: Injeção de Recursos com Fixtures
import pytest
@pytest.fixture
def banco_teste():
conn = sqlite3.connect(":memory:")
criar_tabelas(conn)
yield conn
conn.close() # Executa a desmontagem automaticamente!
🎯 Slide 3: Trilha de Auditoria Imutável (Audit Trail)
- Registre todas as operações financeiras e de alteração de estado com timestamp UTC, ID do usuário e hash de integridade em arquivos de log append-only para conformidade e segurança!
Slide 1 de 1
Atalhos: ← → Navegar • Espaço Avançar • F Tela Cheia • Home Início • End Fim