There seems to be a package to enable this functionality, but I have no luck with it in python 3.5.2, or 2.7.12:
from ipython_doctester import test
@test
def my_fun():
'''
>>> 2 + 3
6
'''
pass
TypeError: data must be a dict, got: 'ipython_doctester'
Is it possible to run a doctest from a jupyter cell using this package or some other way?
I've looked at %doctest_mode also, and I see that it turns Doctest mode off and on, but have been unable to run an actual doctest from a cell.
Jupyter Notebook (formerly known as IPython Notebook) is an interactive way of running Python code in the terminal using the REPL model (Read-Eval-Print-Loop).
Try this on Jupyter notebook:
def my_fun():
'''
>>> 2 + 3
6
'''
pass
import doctest
doctest.testmod()
The result should be:
**********************************************************************
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)
(I used python 2.7.12)
I keep hitting this page, but wanted to run a test for a single function. In that instance, the answer at https://stackoverflow.com/a/10081450/741316 helps. Namely:
def my_fun():
'''
>>> 2 + 3
6
'''
pass
import doctest
doctest.run_docstring_examples(my_fun, globals())
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With