Рассмотрим следующую функцию:
# in mymodule.py:
def myfunc(num,mystring):
"""
replicates a string
:param num: a positive integer
:param mystring: a string
:return: string concatenated with itself num times
:Example:
>>> num = 3
>>> mystring = "lol"
>>> myfunc(num, mystring)
"lollollol"
"""
return num*mystring
Как мне заставить Sphinx doctest работать, чтобы проверить пример кода в
:Example:´ actually does work?
Whenever I run
make doctest`
это говорит о том, что 3 теста были выполнены, но 1 не пройден. Удаление двух последних строк, начиная с
myfunc(num, mystring)
,
, говорит о том, что 2 теста были выполнены успешно. Поэтому я, должно быть, что-то не так делаю с этой строкойНо что?
РЕДАКТИРОВАТЬ Вот вывод терминала (traceback) для полного кода;кажется, что каким-то образом он не может найти функцию, для которой я написал строку документации, и я запускаю тест документации:
Running Sphinx v1.8.3
loading pickled environment... done
building [mo]: targets for 0 po files that are out of date
building [doctest]: targets for 1 source files that are out of date
updating environment: [] 0 added, 1 changed, 0 removed
reading sources... [100%] index
looking for now-outdated files... none found
pickling environment... done
checking consistency... done
running tests...
Document: index
---------------
**********************************************************************
File "index.rst", line ?, in default
Failed example:
myfunc(num, mystring)
Exception raised:
Traceback (most recent call last):
File "/usr/lib/python3.6/doctest.py", line 1330, in __run
compileflags, 1), test.globs)
File "<doctest default[2]>", line 1, in <module>
myfunc(num, mystring)
NameError: name 'myfunc' is not defined
**********************************************************************
1 items had failures:
1 of 3 in default
3 tests in 1 items.
2 passed and 1 failed.
***Test Failed*** 1 failures.
Doctest summary
===============
3 tests
1 failure in tests
0 failures in setup code
0 failures in cleanup code
build finished with problems.
Makefile:19: recipe for target 'doctest' failed