1. Do nada, tudo se constrói
Sobre Testes, TDD, pytest, ...
Andre Pastore • TDC Florianópolis 2018
2. Agenda
● Testes
● Esvaziando o Cheio
● Desenvolvimento Orientado a Testes (TDD)
● pytest
● pytest plugins: pytest-watch & pytest-cov
● Tornado
● @pytest.fixture
● pytest-tornado
● @pytest.mark.parametrize
3. “Testing is a process of executing a
program with the intent to find errors.”
Myers, G. J., Corey S., Badgett, T.,
The Art of Software Testing
Testes de Software
Um processo ou uma série de processos para verificar:
● O código do programa faz o esperado?
● Somente o esperado?
solutions
4. Caso de Estudo
Conversor de Moedas entre Real (R$) e Dólar (US$)
(Cotação US$ 1 = R$ 2,00)
Perguntas para testes:
Convertendo US$ 1.00 para R$, resulta em R$ 2,00?
Convertendo R$ 1,00 para US$, resulta em US$ 0.50?
5. Isto pode ser simples.
Ou tão complicado quanto quisermos.
18. Some pytest built-in arguments
-lf, --last-failed
reexecuta apenas os últimos testes que falharama
-v[v], --verbose
imprime mais detalhes dos testes
-x
interrompe os testes logo no primeiro erro
--pdb
habilita um breakpoint na linha em que ocorrer um erro
23. Agradecimentos Especiais
Monalisa Mello, Poline Lottin e Rodolfo Lottin. Trilha TDC
Holger Krekel, Bruno Oliveira and others: Core Developers do pytest
Danilo Bellini, ajudou a construir idéias para a apresentação
A toda a comunidade Python Floripa
Giovanni Piazza, Felipe Felisberto designers do sticker do Elias
Elias Dorneles, a pessoa no sticker!