Я использую ностесты для модульного тестирования, а также как команда, разрабатывающая IPython. Есть тесты для встроенных магических функций https://github.com/ipython/ipython/blob/master/IPython/core/tests/test_magic.py
Проблема в том, что обычные тесты пишут, когда я пытаюсь запустить IPython с помощью чего-то вроде
from IPython import get_ipython
ip = get_ipython()
ip.register_magics(MyMagic)
тесты носа не проходят с ошибкой 'NoneType' object has no attribute 'register_magics'
. Это потому, что get_ipython()
возвращает None
.
В тестах IPython проблему решают некоторые настраиваемые плагины. Команда iptest
запускает тесты IPython, включая магические. Проблема в том, что я не понимаю, как именно запускать тест, где находится плагин и как его модифицировать для пользовательского магического тестирования. Любая помощь будет оценена
P.S .: Я тоже пробовал использовать InteractiveShellEmbed()
, но он не работает должным образом.
Пока это можно сделать, позвонив с терминала:
PYTHONPATH=<path/to/folder/with/test> iptest <file_with_tests_without_py>