Как проверить магию IPython с помощью тестов носа - PullRequest
0 голосов
/ 25 октября 2018

Я использую тесты носа для модульного тестирования, так же как и команда, разрабатывающая 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, включая магию.Проблема в том, что я не понимаю, как именно я должен запустить тест, или где находится плагин и как изменить его для пользовательского магического тестирования.Любая помощь будет оценена

PS: я также пытался использовать InteractiveShellEmbed(), но она не работает, как ожидалось.

1 Ответ

0 голосов
/ 26 октября 2018

Сейчас это можно сделать, позвонив с терминала:

PYTHONPATH=<path/to/folder/with/test> iptest <file_with_tests_without_py>
...