2016-10-19 12 views
6

Там, кажется, пакет, чтобы включить эту функцию, но у меня нет никакой удачи с ним в питон 3.5.2 или 2.7.12:Возможно ли запустить python doctest на функцию jupyter cell?

from ipython_doctester import test 

@test 
def my_fun(): 
    ''' 
    >>> 2 + 3 
    6 
    ''' 
    pass 

TypeError: data must be a dict, got: 'ipython_doctester' 

Можно ли запустить doctest из jupyter клетки с помощью этот пакет или каким-либо другим способом?

Я также посмотрел на% doctest_mode, и я вижу, что он отключает и выключает режим Doctest, но не смог запустить фактический доктрину из ячейки.

ответ

6

Попробуйте это на Jupyter ноутбуке:

def my_fun(): 
    ''' 
    >>> 2 + 3 
    6 
    ''' 
    pass 

import doctest 
doctest.testmod() 

Результат должен быть:

********************************************************************** 
File "__main__", line 3, in __main__.my_fun 
Failed example: 
    2 + 3 
Expected: 
    6 
Got: 
    5 
********************************************************************** 
1 items had failures: 
    1 of 1 in __main__.my_fun 
***Test Failed*** 1 failures. 
TestResults(failed=1, attempted=3) 

(я использовал питон 2.7.12)

+0

Но также работает в python 3.5 :) – josh

0

Я попадающий эту страницу, но хотел бы выполните тест для одной функции. В этом случае ответ на https://stackoverflow.com/a/10081450/741316 помогает. А именно:

def my_fun(): 
    ''' 
    >>> 2 + 3 
    6 
    ''' 
    pass 

import doctest 
doctest.run_docstring_examples(my_fun, globals())