2017-09-28 1 views
1

J'essaye de comprendre comment faire doctest travailler avec Sphinx, mais il ne semble pas trouver mes tests. J'ai l'exemple simple suivant.Sphinx Doctest ne trouve pas de tests

def my_func(): 
    ''' 
    Dummy test function. Returns the number 5. 
    .. doctest:: 

    >>> my_func() 
    5 
    ''' 
    return 5 

Quand je lance make doctest, la sortie me dit qu'il y avait zéro tests. Je suis assez sûr que j'ai des choses configurées correctement parce que si je cours make html, puis aller à mon fichier index.html, je vois la fonction my_func() inclus dans la documentation.

Est-ce que je néglige quelque chose de simple ici? Merci de votre aide.

+0

Je ne suis pas sûr, mais pourrait-il être un problème avec l'indentation? Que vous devriez mettre en retrait votre code de test, afin que sphinx sache qu'il appartient au groupe doctest? – Randrian

+0

Vous avez raison! Si je mets en retrait les lignes suivantes sont "doctest ::", il reconnaît réellement les tests. – hobscrk777

Répondre

1

Même s'il a déjà été résolu dans le commentaire, voici la réponse pour aider les personnes visitant la question, trouver la solution plus facile.

Le problème était le retrait du bloc du doctest:

def my_func(): 
    ''' 
    Dummy test function. Returns the number 5. 
    .. doctest:: 

     >>> my_func() 
     5 
    ''' 
    return 5 

seules les lignes qui sont en retrait après le bloc doctest sont considérés comme faisant partie du test et sont testés.