1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

[Python] dúvida relativa ao doctest

Discussão em 'Programação' iniciada por Morkim, 14 de Junho de 2009. (Respostas: 2; Visualizações: 469)

  1. 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: 14 de Junho de 2009
  2. AliFromCairo

    AliFromCairo Power Member

    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.
     

Partilhar esta Página