[Python] dúvida relativa ao doctest

Morkim

Membro
Boas,
O problema é o seguinte:
Eu estou a seguir um livro para aprender a programar em python e deparei-me lá com o doctest. Eu percebo como funciona devido aos exemplos/exercicios do livro só que não consigo entender para que é que pode ser utilizado na programação.
Por exemplo qual é o objectivo de ter isto no código?

Código:
def compare(a, b):
    """
      >>> compare(7, 0)
      1
      >>> compare(11, 11)
      0
      >>> compare(40, 60)
      -1
      >>> compare(42, 10)
      1
    """
    if a > b:
        return 1
    if a == b:
        return 0
    if a < b:
        return -1

if __name__ == '__main__':
    import doctest
    doctest.testmod()

P.S.: Se o código tiver algum erro não se preocupem com isso que eu escrevi só aqui à pressa sem verificar xD

Edit: Agora lembrei-me de uma coisa. Poderá servir para testar se por exemplo a função(por exemplo uma formula) funciona?
Por exemplo tenho a fórmula para calcular a hipotenusa para testar se ela está a funcionar uso o doctest?
 
Última edição:
Sim, o objectivo é verificar se a função que definiste faz de facto o que estavas à espera, de acordo com aquilo que tu escreves nas docstrings. No teu caso em particular, verifica se a tua função compare devolve os valores que tu indicaste, quando invocada com os argumentos que estão presentes nas docstrings.

No fundo, é uma forma de aproveitar os teus comentários para fazer testes.
 
Back
Topo