2. POR QUE?POR QUE?
PRA QUE? CONFIO NO MEU CÓDIGO, EU GARANTO!PRA QUE? CONFIO NO MEU CÓDIGO, EU GARANTO!
RETRABALHO, RETRABALHO E CAÇA AOS BUGS.RETRABALHO, RETRABALHO E CAÇA AOS BUGS.
NAAH... CHEGA DISSO.NAAH... CHEGA DISSO.
TESTES DEVEM SER OBRIGATÓRIOS!TESTES DEVEM SER OBRIGATÓRIOS!
3. CULTURACULTURA
CÓDIGOCÓDIGO SIMPLESSIMPLES == FÁCIL DE TESTAR== FÁCIL DE TESTAR
CÓDIGOCÓDIGO MODULARIZADOMODULARIZADO == FÁCIL DE TESTAR== FÁCIL DE TESTAR
MODULARIZAÇÃOMODULARIZAÇÃO =!=! ABSTRAÇÃOABSTRAÇÃO
4. DJANGO 1.4, 1.5DJANGO 1.4, 1.5
project/myapp/tests.pyproject/myapp/tests.py
./manage.py test myapp./manage.py test myapp
5. TESTES UNITÁRIOSTESTES UNITÁRIOS
from django.test import TestCase
from myapp.models import Animal
class AnimalTestCase(TestCase):
def setUp(self):
Animal.objects.create(name="lion", sound="roar")
Animal.objects.create(name="cat", sound="meow")
def test_animals_can_speak(self):
"""Animals that can speak are correctly identified"""
lion = Animal.objects.get(name="lion")
cat = Animal.objects.get(name="cat")
self.assertEqual(lion.speak(), 'The lion says "roar"')
self.assertEqual(cat.speak(), 'The cat says "meow"')
7. TESTS.PYTESTS.PY
UM ÚNICO MODULO DE TESTES É UMAUM ÚNICO MODULO DE TESTES É UMA MÁMÁ IDÉIA.IDÉIA.
TESTES TAMBÉM SÃO CÓDIGOS,TESTES TAMBÉM SÃO CÓDIGOS, PRECISAMPRECISAM SERSER
MODULARIZADOS.MODULARIZADOS.
BEM ESCRITO E FÁCILBEM ESCRITO E FÁCIL DE ENTENDER.DE ENTENDER.
22. from splinter import Browser
browser = Browser()
browser.visit('http://google.com')
browser.fill('q', 'splinter - python acceptance testing for web
applications')
browser.find_by_name('btnG').click()
if browser.is_text_present('splinter.cobrateam.info'):
print "Yes, the official website was found!"
else:
print "No, it wasn't found... We need to improve our SEO te
chniques"
browser.quit()