Documentação Teste Unitário
Esse projeto é uma série de documentações de ferramentas de teste unitário em diversas linguagens.
Projeto já adicionado aos favoritos. Clique aqui para ver todos seus favoritos
Obrigado pela sua avaliação, deixe o seu feedback nos comentários :D
Introdução
O PyUnit é uma biblioteca para realização de testes unitários em Python baseada na arquitetura xUnit. É a forma mais difundida para realizar a prática de testes unitários pela comunidade Python.
Visão Geral
O PyUnit foi criado com o intuito de trazer ao Python todos os recursos que já haviam no framework de teste unitário JUnit da linguagem Java, a ferramenta evoluiu de forma a explorar plenamente os recursos da linguagem e se adequar ao jeito pythonico de escrever código.
Por exemplo, quando precisamos testar se um método de consulta está buscando o registro certo, o mais comum é chamar esse método dentro da cláusula if __name__ == "__main__":, imprimir o resultado na tela e executar o módulo onde o método é declarado.
if __name__ == "__main__":
cliente_dao = ClienteDAO()
cliente = cliente_dao.find_by_id(10)
print(cliente.name())
# o resultado esperado é "Edson Arantes do Nascimento"
Em um projeto maior esse tipo de teste tende a se tornar inviável e inseguro a medida que a complexidade do módulo e da unidade aumentam, é natural sentir falta de uma metodologia de testes, que permita medir a cobertura de teste do código, tornando fácil criar os cenários nos quais as falhas serão percebidas. Os testes unitários suprem essas e outras carências do processo de teste de código.
def test_find_by_id(self):
cliente_dao = ClienteDAO()
cliente = cliente_dao.find_by_id(10)
self.assertEqual(cliente_dao, 'Edson Arantes do Nascimento')
Testes Unitários são escritos quase sempre com o auxílio de uma ferramenta, no caso do Python o programador conta com uma ferramenta tão bem adaptada à linguagem e tão bem aceita pela comunidade que está implementada como biblioteca nativa desde a versão 2.1 do Python em diante.
Instalação
O PyUnit é presente por padrão no Python desde a versão 2.1 como biblioteca de nome unittest e por isso não precisa ser instalado. O PyUnit pode ser implementado importando o módulo unittest inteiro ou apenas os recursos que vão ser usados:
import unittest
Ou importando especificamente algum recurso:
from unittest import <recurso a ser usado>
Configuração
Por ser utilizado nativamente como uma biblioteca, o PyUnit não precisa de nenhuma configuração prévia para executar os testes.