如何使用鼻子测试测试IPython魔术

时间:2018-10-25 12:05:57

标签: python ipython nose

我使用鼻子测试进行单元测试,以便团队合作开发IPython。有内置魔术功能https://github.com/ipython/ipython/blob/master/IPython/core/tests/test_magic.py

的测试

问题是,当我尝试使用类似的方法启动IPython时,照常编写测试

  videoElement.addEventListener('enterpictureinpicture', function(event) {
    pipWindow = event.pictureInPictureWindow;
    pipWindow.addEventListener('resize', onPipWindowResize);
  });

  videoElement.addEventListener('leavepictureinpicture', function() {
    pipWindow.removeEventListener('resize', onPipWindowResize);
  });

  function onPipWindowResize() {
    clearTimeout(resizeTimer);
    resizeTimer = setTimeout(async function() {
      await document.exitPictureInPicture();
      videoElement.setAttribute('src', './video-sd.mp4');
      await videoElement.requestPictureInPicture();
    }, 1000);
  }

nosetest失败,并显示错误from IPython import get_ipython ip = get_ipython() ip.register_magics(MyMagic) 。这是因为'NoneType' object has no attribute 'register_magics'返回get_ipython()

在IPython测试中,一些自定义插件解决了该问题。命令None运行IPython测试,包括魔术。问题是我不知道应该如何精确地运行测试,或者插件位于何处以及如何针对自定义魔术测试对其进行修改。任何帮助将不胜感激

P.S .:我也尝试使用iptest,但无法正常使用。

1 个答案:

答案 0 :(得分:0)

目前,这可以通过从终端呼叫来完成:

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