21.12.2022 Views

python_para_desenvolvedores_2ed

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Testes automatizados 143

Os métodos de teste devem evocar ao terminar um dos métodos:

▪ assert_: verifica se uma condição é atingida.

▪ assertEqual: verifica se o resultado é igual ao parâmetro passado.

▪ AssertRaises: verifica se a exceção é a esperada.

Se houver um método chamado setUp, este será executado antes de cada

teste, assim é possível reinicializar variáveis e garantir que um teste não

prejudique o outro. O final dos testes, o unittest gera o relatório com os

resultados encontrados.

Exemplo:

"""

fibtest.py

Usa unittest para testar fib.py.

"""

import fib

import unittest

class TestSequenceFunctions(unittest.TestCase):

def setUp(self):

self.seq = range(10)

def test0(self):

self.assertEqual(fib.fib(0), 1)

Métodos que definem os os testes.

def test1(self):

self.assertEqual(fib.fib(1), 1)

def test10(self):

self.assertEqual(fib.fib(10), 89)

def testseq(self):

fibs = [1, 1, 2, 3, 5, 8, 13, 21, 34, 55]

for x, y in zip(fibs, [ fib.fib(x) for x in self.seq ]):

self.assert_(x is y)

def testtype(self):

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!