Python Com TDD
Python Com TDD
IV Encontro do PUG-PE
Sobre Rodrigo Alves Vieira
* Recife, Pernambuco
* Programador Ruby há mais de um ano
* Pythonista fase beta
* Ama Rock 'n roll, Indie e Blues :D
* rodrigo3n.heroku.com
* github.com/rodrigo3n
* @rodrigo3n
Começo de conversa...
unittest
O unittest - também chamado de PyUnit
- é um Framework built-in do Python de
Testes Unitários, baseado no JUnit(Java)
de Erich Gamma e no Smalltalk Testing
Framework do Kent Beck(O cara que
idealizou o TDD em 1999).
* TestCase
* TestSuite
* TextTestRunner
Pilares do Framework
* TestCase
Providencia métodos próprios (assertEqual,
assertTrue, assertNotEqual) que geram mensagens
mais precisas pra os testes.
* TestSuite
* TextTestRunner
Pilares do Framework
* TestCase
* TestSuite
É um agregador de testes, classe poderosa que pode
mesclar vários testes de diferentes módulos e
executá-los como um todo.
* TextTestRunner
Pilares do Framework
* TestCase
* TestSuite
* TextTestRunner
Mostra os nomes dos testes conforme eles são
executados, assim como os erros ocorridos. E um
resumo dos resultados no fim da execução
Comece testando o código
que você quer ter!
unittest.TestCase
que obviamente....
Falha!
Completamos o primeiro passo do
ciclo do TDD: Escrevemos um teste
que especifica como queremos o
código funcionando.
~% python teste_aviao.py -v
Dica!
Execute testes específicos interativamente!
Digamos que o arquivo que contém os testes
(test_aviao.py) tem 40 testes, mas você só
quer executar 2 deles, então:
Ou ainda melhor.....
A classe TestSuite torna ainda mais poderosa sua suíte de
testes porque você pode importar quantos módulos você
quiser contendo uma quantidade qualquer de testes.
help(unittest)
Isso é tudo pessoal!
Dúvidas?!
Opiniões?!
twitter: @rodrigo3n | [email protected]
http://rodrigo3n.heroku.com |
http://bit.ly/python-com-tdd