Согласно документации модуля Python doctest
, функцию run_docstring_examples
можно вызывать с различными объектами, такими как функция, класс или модуль, но также со строкой. .
Я предполагал, что при вызове со строкой он будет запускать примеры в этой строке. Но это не похоже на работу. Вот что я попробовал:
example = """
>>> True
False
"""
import doctest
doctest.run_docstring_examples(example, globals(), verbose=True, name="example")
Это приводит только к Finding tests in example
; больше ничего.
Что я делаю не так?
Проигрывая немного больше и изменяя способ определения example
(обратите внимание на отступ)
example = """
>>> True
False
"""
it работает, и результат такой, как и ожидалось:
Finding tests in example
Trying:
False
Expecting:
True
**********************************************************************
Line 2, in example
Failed example:
False
Expected:
True
Got:
False
Итак, теперь вопрос:
- Зачем нужен отступ?
- Это ошибка или функция?
Редактировать :
- Среда: Python 3.7.2 из ноутбука Jupyter, с I Python 7.2 .0
- Непосредственно в интерпретаторе Python 3.7.2 он работает как положено.