O Módulo da Unidade de Teste da Biblioteca Padrão do Python

Há alguns problemas que devemos lidar. Primeiro, a mensagem “AssertionError” não ajuda muito, seria legal se o teste nos dissesse o que encontrou e colocasse como título no browser.

Para isso poderíamos fazer dessa maneira:

assert ‘To-Do’ in browser.title, “Título do Browser “ + browser.title

Podemos utilizar um try/finally para limpar a janela do Firefox. Mas essas organizações de problemas são testes comuns, e há algumas soluções para nossos módulos de teste unitário para nossa biblioteca. Vamos testar isso:

#1 – Testes são organizados dentro de classes, o qual herda do unittest.TestCase.

#2 – O corpo principal do teste é um método chamado test_can_start_a_list_and_retrieve_it_later. Quaisquer métodos que tenha nomes que comecem com test é um método de teste, e serão executados como testes. Você pode ter mais de um método de teste por classe. Nomes relativos ao teste é uma boa prática.

#3 – setUp e tearDown são métodos especiais os quais executa antes e depois de cada teste. Eu estou utilizando a abertura e encerramento do nosso browser, note que eles são um pouco parecidos com um try/except, o tearDown executará mesmo que ocorra um erro durante o teste. Sendo assim uma janela com erro não ficará aberta esperando você fechar.

#4 – Nós utilizamos o self.assertIn ao invés de apenas assert para nosso teste de asserção. Teste unitário fornece muitas funcionalidades como fazer testes de asserções, como assertEqual, assertTrue, assertFalse e assim por diante. Veja a documentação https://docs.python.org/3/library/unittest.html

#5 – self.fail é apenas uma mensagem de erro. Estou utilizando para mostrar a mensagem de “Terminou o teste!”.

#6 – Finalmente, nós temos o if __name__ == ‘__main__’ é assim que inicia um script. Chamamos o unittest.main(),  o qual lança o unittest, o qual irá automaticamente encontrar classes de testes e métodos no arquivo e executá-lo.

#7 – warnings=’ignore’ não mostra avisos sem importância, ResourceWarning o qual apresenta no console de execução.

Se você leu a documentação do Django, você deve ter visto algo chamado LiveServerTestCase, e está pensando se devemos utilizá-lo agora. Utilizar o LiveServerTestCase é um pouco mais complicado.

Vamos executar o teste que criamos.

Melhorou um pouco. Agora a janela do Firefox fecha caso haja algum erro e no console temos mais informações do que foi testado e o erros encontrados.

Fonte: Tdd com Python: Siga o Bode dos Testes: Usando Django, Selenium e JavaScript

Para enviar seu comentário, preencha os campos abaixo:

Deixe um comentário

*

Seja o primeiro a comentar!