Upload
ricardo-banffy
View
105
Download
3
Embed Size (px)
DESCRIPTION
O caminho das pedras de fazer TDD com Python no App Engine
Citation preview
TDD com App Engine e Python
um jeito simples
Pesquisa
● Quem já usa App Engine com Python?● Quem faz TDD com App Engine em Python?● Quem escreve testes?
O que é o Google App Engine
O que é o Google App Engine
O que é o Google App Engine
O que é o Google App Engine
● Uma plataforma de PaaS● APIs e bibliotecas "próprias"
o mas roda aplicações Django, Flask etc● Você nunca se preocupa com o servidor● O time da Google administra tudo pra você● Ambiente de desenvolvimento local● Deployment com o SDK (ou com git)
O que tem no Google App Engine
● Spin-up e spin-down automágico● Pay-as-you-go● Datastore (NoSQL) + Google Cloud SQL● Filas - para processamento assíncrono● NDB - Quem não espera não cansa● Autenticação● Um framework que incentiva boas práticas
o E castiga você pelas más
O que mais?
● Uma interface de gerenciamento● É fácil trocar versões
o E fazer split entre versões
● Uma nova interface de gerenciamento novao Integrada com os outros serviços de cloud da
O que já tínhamos
● GAEUnito Deploy do código de teste em produçãoo Ainda funciona?
● Ferramental do SDKo Batteries not included
● NoseGAE, pytest-gaeo Some batteries included
● ?
Por que fazer mais um
● Incluir pilhas no pacote● Ter opinião pode ser uma boa idéia
o Convenção sobre configuração ajuda● Algumas coisas fazem falta no ferramental
do SDKo Faltam mais exemploso O jeito com que o Django lida com fixtures é duca
Por que fazer mais um (continuação)
● Virtualenvs são legaiso Quebrar o Python do sistema é sempre ruimo O Python do sistema pode não ser uma opção
Algumas pessoas usam Windows● Quando é difícil testar, ninguém testa
o preguiça é a primeira virtude do programador (embora, nesse caso, não seja uma)
● Um pouco de hand-holding ajuda
O que fizemos
● Um projeto-base (no GitHub)● Monta um virtualenv● Roda testes de sanidade● Dados de teste em JSON● Ambiente montado com um Makefile● Testes independem do framework que você
está usando● Dá pra usar ipdb (nos testes)!
Como se usa?
Demo1. git clone
o [email protected]:rbanffy/testable_appengine.git
2. make venv3. nosetests
O que falta fazer
● Importar hierarquias de objetos para testes● Tornar mais fácil usar em projetos já em
andamentoo Sobretudo manter o maquinário atualizadoo Se bem que isso pode nem ser importante
● Precisamos de mais usuárioso Que dêem mais palpites
Dúvidas?
Contato
about.me/rbanffy@rbanffyhttps://github.com/rbanffy/testable_appengine