Pular para o conteúdo

Como Usar o doctest do Python - Aprenda a Testar seu Código facilmente

[

Using doctest

Neste tutorial, vamos aprender sobre o módulo doctest do Python, que é uma maneira simples de realizar testes mínimos nas funções através da escrita de docstrings com exemplos.

O doctest é útil para garantir que as funções estejam produzindo os resultados esperados, de acordo com os exemplos na docstring. Ele oferece uma maneira fácil de executar esses testes e detectar erros ou peculiaridades.

Exemplo

Vamos supor que temos uma função chamada sum_counters que recebe dois contadores e retorna a soma deles. Aqui está um exemplo de como usar o doctest para testar essa função:

from collections import Counter
import doctest
def sum_counters(counter1, counter2):
"""
Sums two counters together.
Examples:
>>> c1 = Counter(a=3, b=2)
>>> c2 = Counter(a=1, b=4)
>>> sum_counters(c1, c2)
Counter({'b': 6, 'a': 4})
"""
return counter1 + counter2
# Executando os testes do doctest
doctest.testmod()

Neste exemplo, a função sum_counters recebe dois contadores e retorna a soma deles. A docstring contém um exemplo que mostra como usar a função e qual deve ser o resultado esperado.

Ao executar o doctest.testmod(), o Python irá executar o exemplo da docstring e comparar o resultado obtido com o resultado esperado. Se houver alguma diferença, um erro será relatado.

Executando o Teste

Para executar o teste, primeiro precisamos instalar o pacote doctest usando o comando:

pip install doctest

Após a instalação, podemos executar o teste diretamente a partir do terminal, digitando o seguinte comando:

python -m doctest -v nome_do_arquivo.py

O parâmetro -v é usado para exibir informações detalhadas sobre o teste.

Conclusão

O módulo doctest é uma ferramenta útil para testar as funções do seu código Python. Ele permite que você escreva exemplos de uso em suas docstrings e execute esses exemplos automaticamente para verificar se a função está produzindo os resultados esperados. Isso ajuda a garantir a qualidade do código e facilita a detecção de erros ou comportamentos inesperados.

Use o doctest como parte integrante do seu fluxo de trabalho de desenvolvimento Python para garantir que suas funções estejam funcionando corretamente.