A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

PyUnit. O que é? Framework de teste baseado no JUnit Versão atual 1.4.1.

Apresentações semelhantes


Apresentação em tema: "PyUnit. O que é? Framework de teste baseado no JUnit Versão atual 1.4.1."— Transcrição da apresentação:

1 PyUnit

2 O que é? Framework de teste baseado no JUnit Versão atual 1.4.1

3 Download Última versão: nit/pyunit zip Para versões do Python acima do 2.1 já está embutido

4 Usando o PyUnit A classe chave é a TestCase do módulo unittest Toda e qualquer classe de Teste deve estender ela

5 Exemplo de uma classe de teste

6 Usando o PyUnit Da mesma forma que no JUnit podemos definir métodos setUp e tearDown

7 setUp e tearDown

8 Suíte de Testes Várias são as formas: Criando as classes com nomes no construtor Criando uma suíte genérica e adicionando os testes Usando a função map

9 Suíte de Testes Não criar uma suíte e usar o prefixo test antes de cada método para rodar no Eclipse Melhor Solução: Criar um padrão para o nome dos métodos e usar o makesuite ]. Assim garantimos flexibilidade

10 Suíte de Testes

11 Assertions Tipicamente usa-se o assert típico do Python class WidgetTestCase(unittest.TestCase): def testDefaultSize(self): """Check that widgets are created with correct default size""" assert self.widget.size() == (50,50), 'incorrect default size'

12 Assertions Problema: Se for necessário rodar o Python com otimização ligada os asserts típicos são pulados Solução: Usar os métodos do PyUnit

13 Assertions Outras formas de testar condições booleanas: Falha com condições verdadeiras def runTest(self): self.failIf(self.widget.size() <> (100,100))

14 Assertions assertEqual e assertNotEqual def testSomething(self): self.widget.resize(100,100) self.assertEqual(self.widget.size, (100,100))

15 Assertions O PyUnit fornece aliases para os métodos anteriores: assertEqual = failUnlessEqual assertNotEqual = failIfEqual

16 Assertions Fail típico def runTest(self):... if not myObject.name = Test: self.fail("Wrong name") # or just 'self.fail()'

17 Exceções Teste com Exceções Temos três soluções para testar situações em que exceções esperadas não são lançadas

18 Exceções Forma mais similar a Java def runTest(self): try: self.widget.resize(-1,-1) fail("expected a ValueError") except ValueError: pass

19 Exceções Forma típica do Python def runTest(self): try: self.widget.resize(-1,-1) except ValueError: pass else: fail("expected a ValueError")

20 Exceções Usando o método do PyUnit def runTest(self): self.assertRaises(ValueError, self.widget.resize, -1, -1)

21 Referências


Carregar ppt "PyUnit. O que é? Framework de teste baseado no JUnit Versão atual 1.4.1."

Apresentações semelhantes


Anúncios Google